Decode JSON to NSArray or NSDictionary

json, objective-c

Solution

which iOS version are you using? in iOS 5 you have the `NSJSONSerialization` class to parse JSON data, if you need to target older iOSs or MAC OSX you should use third parties lib such as `SBJSON`. The string posted will be a NSDictionary with an array with one dictionary. The array will be accessible using the key `@"content"`

In code:

NSString * jsonString = @"blblblblblb";
NSStringEncoding  encoding;
NSData * jsonData = [jsonString dataUsingEncoding:encoding];
NSError * error=nil;
NSDictionary * parsedData = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:&error];

In 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)")
    }

[UPDATE] The `NSJSONSerialization` class is also available for 10.7 my comment wasn't correct.

Problem

I hope to decode the JSON data below: ``` { "content": [ { "1":"a", "2":"b", "3":"c", "4":"d", "mark":"yes" } ] } ``` Not sure if put it in NSArray or NSDictionary Welcome any comment

Original source