0

我的 Json 响应是

[{"id":"1", "x":"1", "y":"2"},{"id":2, "x":"2", "y":"4"}]

我做到了

 NSString *response = [request responseString];
 SBJSON *parser = [[SBJSON alloc] init];
 NSArray *jsonObject = [parser objectWithString:response error:nil];

在这一点上,我相信 jsonObject 是一个有两个 NSDictionary 的数组。我怎样才能使 jsonObject 有两个 NSArray 而不是 NSDictionary?最好的方法是什么?我认为我需要将嵌套的 NSDictionary 转换为 NSArray?

4

1 回答 1

1

我现在会在 Foundation 框架中使用 NSJSONSerialization 类。

使用 JSONObjectWithData 方法,它将返回您希望将数据存储在顶层的容器类型。例如:

NSError *e;

NSArray *jsonObject = [NSJSONSerialization JSONObjectWithData:data options:0 error:&e]; 

for (NSDictionary *dict in jsonObject) {

    NSLog(@"json data:\n %@", dict); 

    // do stuff

}

或者,您可以返回一个可变容器,例如:

NSMutableDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:&e];

这是苹果文档:

NSJSON序列化

于 2012-04-23T23:38:08.240 回答