使用PHP文件,我以下列格式回显MySQL数据库中的数据:[{"longitude":"-122.031","latitude":"37.3323”}]
在我的Swift文件中,我使用NSJSONSerialization.JSONObjectWithData()
创建一个类似于以下内容的JSON字典
(
{
latitude = "37.3323";
longitude = "-122.031";
}
)
如果我想在变量中存储单个字典值,我相信以下Swift代码片段可以正常工作
class Location: NSObject {
var latitude: String?
var longitude: String?
}
var locations = [Location]()
if let locationDictionary = jsonDictionary["coordinates"] as? [String: AnyObject] {
let location = Location()
location.setValuesForKeysWithDictionary(locationDictionary)
print(location.latitude, location.longitude)
}
我遇到的唯一问题是我需要我的JSON字典看起来像
(
coordinates = {
latitude = "37.3323";
longitude = "-122.031";
}
)
但我不知道要采取什么措施来实现这一目标。
答案 0 :(得分:1)
你必须像这样制作你的JSON:
[{"坐标" {"经度":" -122.031""纬度":" 37.3323& #34;}}]
这是一个字典数组,其中每个字典包含另一个字典。
以下是适用于新格式的代码:
if let json = try? NSJSONSerialization.JSONObjectWithData(data, options: []), // your source may differ, I'm just using this line for my example
content = json as? [[String:AnyObject]] { // the array of dictionaries
for item in content {
if let locationDictionary = item["coordinates"] as? [String: AnyObject] { // the dictionary inside the dictionary
let location = Location()
location.setValuesForKeysWithDictionary(locationDictionary)
print(location.latitude, location.longitude)
}
}
}