解析JSON结果时出现问题

时间:2010-02-11 15:10:33

标签: objective-c json

我在解析JSON结果时遇到问题。这是我从HTTP请求中得到的:

{"subscriptions": [
     {"id":"A", "title":"A title"},  
     {"id":"B", "title":"B title"},  
]}

这就是我在我的代码中所做的事情:

// Getting the result<br>
NSString *str = [[NSString alloc] initWithData:receivedData encoding:NSASCIIStringEncoding];

// Creating the JSON parser<br>
SBJSON *parser = [[SBJSON alloc] init];

// Parse result in an object<br>
NSDictionary *result = [parser objectWithString:str];

到目前为止一切正常。我的结果对象中有一个键/值对,我认为是订阅对象。但现在的问题是:如何像id和title一样访问它的内部对象?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

JSON解析器将为您创建嵌套的NSArray和NSDictionary对象。要使用数组:

NSArray *array = [result objectForKey:@"subscriptions"];

然后像这样访问数组中的对象:

NSDictionary *arrayObject = [array objectForIndex:0];

最后,要获得一个内部对象:

NSString *stringObject = [arrayObject objectForKey:@"id"];