我有以下 JSON 文件:
{ "_id" : { "$oid" : "54feffe1412807551c90eaa2"} , "loc" : [ 35.09 , 12.01]},
{ "_id" : { "$oid" : "54ff0b62412807551c90eaa4"} , "loc" : [ 43.98 , 12.34]}
如何在 Swift 中解析这个 JSON 文件?我需要 loc 中的值。
我有以下 JSON 文件:
{ "_id" : { "$oid" : "54feffe1412807551c90eaa2"} , "loc" : [ 35.09 , 12.01]},
{ "_id" : { "$oid" : "54ff0b62412807551c90eaa4"} , "loc" : [ 43.98 , 12.34]}
如何在 Swift 中解析这个 JSON 文件?我需要 loc 中的值。
我有一个问题,我收到一个致命错误:在展开可选值时意外发现 nil。
我向我的服务器发送一个 http 请求。像这样
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) {(response, data, error) in
if error == nil {
var datastring:String = NSString(data:data, encoding:NSUTF8StringEncoding)!
// println(datastring)
if (data != nil) {
var json=NSJSONSerialization.JSONObjectWithData(data!, options: nil, error: &self.err) as NSDictionary
println(json)
if (error != nil) {
println(self.err?.localizedDescription)
} else {
//do something here with json
}
}
} else {
println(error.localizedDescription)
}
并获取此 json 文件:
{ "_id" : { "$oid" : "54feffe1412807551c90eaa2"} , "loc" : [ 35.09 , 12.01]},
{ "_id" : { "$oid" : "54ff0b62412807551c90eaa4"} , "loc" : [ 43.98 , 12.34]}
如果我只有一个文件,它可以工作。但是有两个文件我得到了致命的错误。
使用NSJSONSerialization
:
func ParseJSONData(data: NSData) -> NSDictionary? {
if let dict = NSJSONSerialization.JSONObjectWithData(data, options: nil, error: nil) as? NSDictionary { return dict }
println("Failed to parse")
return nil
}
// *********************
if let info = ParseJSONData(jsonstring.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false))