2

它应该很简单,但我无法让它工作。

Json 响应是 ([{"id":"1", "x":"1", "y":"2"},{"id":2, "x":"2", "y": "4"}])

NSString *response = [request responseString];
//response is ([{"id":"1", "x":"1", "y":"2"},{"id":2, "x":"2", "y":"4"}])

SBJSON *parser = [[[SBJSON alloc] init] autorelease];

NSDictionary *jsonObject = [parser objectWithString:response error:NULL];
// jsonObject doesn't have any value here..Am I doing something wrong?

NSMutableArray Conversion = [jsonObject valueForKey:NULL];
//Even if I get the value of jsonObject. I don't know what to put for valueForKey here

转换应该有两个 NSObjects ..他们每个人都应该有

id:1 x:1 y:2

id:2 x:2 y:4

4

1 回答 1

6

您的 JSON 解析器将从您的响应字符串生成 NSArray,而不是 NSDictionary。请注意,包括 SBJSON 在内的 JSON 解析器将返回数组对象或字典对象,具体取决于正在解析的 json 的内容。

NSArray *jsonObject = [parser objectWithString:response error:nil];

然后,您可以访问数组中的各个项目(数组元素的类型为 NSDictionary)并用于valueForKey:获取每个项目的属性。

NSDictionary *firstItem = [jsonObject objectAtIndex:0];
NSString *theID = [firstItem objectForKey:@"id"];
于 2012-04-23T05:08:36.183 回答