将JSON解码为NSArray或NSDictionary

ara*_*ide 11 json objective-c

我希望解码下面的JSON数据:

{
    "content":
    [   
        {
            "1":"a",
            "2":"b",
            "3":"c",
            "4":"d",
            "mark":"yes"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

不确定是否将它放在NSArray或NSDictionary中

欢迎任何评论

And*_*rea 32

您使用的是哪个iOS版本?在iOS 5中,您可以使用NSJSONSerialization类来解析JSON数据,如果您需要定位较旧的iOS或MAC OSX,则应使用第三方库SBJSON.发布的字符串将是一个带有一个字典的数组的NSDictionary.可以使用密钥访问该阵列@"content"

在代码中:

NSString * jsonString = @"blblblblblb";
NSStringEncoding  encoding;
NSData * jsonData = [jsonString dataUsingEncoding:encoding];
NSError * error=nil;
NSDictionary * parsedData = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:&error];
Run Code Online (Sandbox Code Playgroud)

在SWIFT 2.0中:

    let jsonString = "blblblblblb"
    let encoding = NSUTF8StringEncoding
    let jsonData = jsonString.dataUsingEncoding(encoding)
    guard let jData = jsonData else {return}
    do {
        let parsedData = try NSJSONSerialization.JSONObjectWithData(jData, options: [])
    } catch let error {
        print("json error: \(error)")
    }
Run Code Online (Sandbox Code Playgroud)

[更新]该NSJSONSerialization课程也可用于10.7我的评论不正确.