Ios 将JSON数据转换为字典
我试图将此JSON数据转换为Ios 将JSON数据转换为字典,ios,json,swift,nsdictionary,Ios,Json,Swift,Nsdictionary,我试图将此JSON数据转换为字典,但我不知道此JSON中的数据将如何结构化。我认为我的detect JSON结构代码是错误的 JSON响应 [ { "userId": 1, "id": 1, "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit", "body": "quia et suscipit\nsusc
字典
,但我不知道此JSON中的数据将如何结构化。我认为我的detect JSON结构代码是错误的
JSON响应
[
{
"userId": 1,
"id": 1,
"title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
"body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
},
{
"userId": 2,
"id": 2,
"title": "et ea vero quia laudantium autem",
"body": "delectus reiciendis molestiae occaecati non minima eveniet qui voluptatibus\naccusamus in eum beatae sit\nvel qui neque voluptates ut commodi qui incidunt\nut animi commodi"
}
]
这是我的密码:
enum postResult {
case Success([Post]) //return array of post
case Failure(ErrorType)
//
func postsFromJSONData(data:NSData)->PhotosResult{
do {
let jsonObject : AnyObject = try NSJSONSerialization.JSONObjectWithData(data,options:[])
guard let jsonDictionary = jsonObject as? [NSObject:AnyObject],
postsArray = ["userId"] as? [[String:AnyObject]] else {
return.Failure(InvalidError.InvalidJSONData)
}
var finalPosts = [post]()
return.Success(finalPosts)
}
catch let error {
return.Failure(error)
}
}
}
您的响应是数组而不是字典,所以您需要从数组访问对象,并且您的
用户ID
键包含数字作为值而不是数组/字典
let jsonObject = tryNSJSONSerialization.JSONObjectWithData(data,options:[]) as! [[String: AnyObject]]
if jsonObject.count > 0 {
if let userId = jsonObject[0]["userId"] as? Int {
print(userId)
}
}
您的响应是数组而不是字典,所以您需要从数组访问对象,并且您的
用户ID
键包含数字作为值而不是数组/字典
let jsonObject = tryNSJSONSerialization.JSONObjectWithData(data,options:[]) as! [[String: AnyObject]]
if jsonObject.count > 0 {
if let userId = jsonObject[0]["userId"] as? Int {
print(userId)
}
}
首先获取json数据数组,然后获取字典。请检查您的json数据“”站点字典后数组中的第一个0索引。您可以使用SwiftyJSON进行良好的json发布实践…:)在获取字典后,您将首先获取json数据数组。请检查您的json数据“”站点字典后数组中的第一个0索引。您可以使用SwiftyJSON进行出色的json发布实践…:)