Swift3でJSONファイルをパースできない
自作APIサーバからJSONをもらって、ログに表示しようとしています。
let json: NSDictionary = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as! NSDictionary
の部分で
The data couldn’t be read because it isn’t in the correct format.
とエラーを吐かれてしまいますが、これは何が原因なのでしょうか
APIへのアクセスはsessionのrisp変数の中身から、status code=200で成功していると思います
SWIFTのコード
func someTask() {
let url = URL(string: "My API Address")!
let session = URLSession(configuration: URLSessionConfiguration.default)
let task = session.dataTask(with: url, completionHandler: {
(data, resp, error) in
if error != nil {
let str = NSString(data: data!, encoding: String.Encoding.utf8.rawValue)
print(str!)
print(error!.localizedDescription)
return
}
do {
let json: NSDictionary = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as! NSDictionary
print(json["a"] ?? "a:none")
print(json["b"] ?? "b:none")
} catch let error as NSError{
print(error.localizedDescription)
}
})
task.resume()
}
自作APIのコード
<html>
<head>
</head>
<body>
<?php
$returnValue = array("a"=>1,"b"=>2);
echo json_encode($returnValue);
?>
</body>
</html>