0

I'm a noob when it comes to requests and JSON. Inside my app I send to the server and get back stuff so I can use it of course. I tried looking up different things but none really seem to be what I'm looking for. So I'm getting back what seems to be formatted JSON. What I want to know how to do is put it into a NSMutable array. The way I get this JSON is by using AFNetworking's AFJSONRequestOperation.

My response looks like this.

{
    id = 38;
    name = "St. Martin Hall";
},
    {
    id = 40;
    name = "Assumptions Commons";
},
    {
    id = 41;
    name = "Vickroy Hall";
},
    {
    id = 42;
    name = "St. Ann Hall";
},
    {
    id = 37;
    name = "Duquesne Towers";
}
JohnV
  • 285
  • 1
  • 3
  • 13

3 Answers3

4

if your JSON format like {"mainKey":[{},{},...]}

 NSError* error;
    NSDictionary* json = [NSJSONSerialization 
        JSONObjectWithData:responseData //1
         options:kNilOptions 
        error:&error];

    NSArray* dataArray = [json objectForKey:@"mainKey"]; //2

else your JSON format like [{},{},...]

NSError* error;
    NSArray* dataArray = [NSJSONSerialization 
        JSONObjectWithData:responseData //1
        options:kNilOptions 
        error:&error];

I think your format is case 2: [] Array of Object {}

Tutorial: http://www.raywenderlich.com/5492/working-with-json-in-ios-5

JSON:http://www.json.org

LE SANG
  • 10,955
  • 7
  • 59
  • 78
0

You use the NSJSONSerialization class to convert JSON to Foundation objects and convert Foundation objects to JSON.

This class is available in iOS 5.0+. If you're targetting older iOS version, have a look at a third-party JSON framework:

Comparison of JSON Parser for Objective-C (JSON Framework, YAJL, TouchJSON, etc)

Community
  • 1
  • 1
Anh
  • 6,523
  • 7
  • 46
  • 59
0

If that's what you're getting back it's not JSON I'm afraid. It does look like Javascript in a way but it should be more like

[
  {
     "id" : 38,
     "name" : "St. Martin Hall"
  },
  {
     "id" : 39,
     "name" : "Assumptions Commons"
  }
]
fet
  • 614
  • 5
  • 12