我只是在iOS中玩JSON解析器,它作爲一個(簡單)示例正常工作。但我是一個奇蹟怎麼會真正分析的東西(有點)更復雜,一個Twitter趨勢JSON,像這樣:在iOS中解析JSON(再次)
{
"trends": {
"2011-03-13 11:42:17": [
{
"events": null,
"query": "Fukushima",
"promoted_content": null,
"name": "Fukushima"
},
{
"events": null,
"query": "Rebecca Black",
"promoted_content": null,
"name": "Rebecca Black"
},
{
"events": null,
"query": "Pearl Harbour",
"promoted_content": null,
"name": "Pearl Harbour"
},
...
{
"events": null,
"query": "Magdalena Neuner",
"promoted_content": null,
"name": "Magdalena Neuner"
}
]
},
"as_of": 1300016537
}
如何將一個只返回前3個疑問?在這種情況下:福島,麗貝卡黑色和珍珠港。
使用示例代碼,它是這樣的:
for (int i = 0; i < [luckyNumbers count]; i++)
[text appendFormat:@"%@\n", [luckyNumbers objectAtIndex:i]];
這是一個簡單得多的飼料不過,能不能走近什麼我正在尋找同樣的方式?
我想返回「查詢」的價值:
所以我真的這樣做:
NSLog(@"%@", [[luckyNumbers objectForKey:@"trends"]);
這當然記錄的關鍵「潮流」的內容,該怎麼辦我不僅要返回趨勢的第一個(也是唯一的)關鍵點,還要挖掘更多層次以返回「查詢」的內容?
我也試過這樣的事情:
NSString *date = [[[luckyNumbers valueForKeyPath:@"trends"] allKeys] description];
NSArray *trends = [luckyNumbers objectForKey:@"trends"];
NSLog(@"%@", [trends valueForKeyPath:date]);
,但沒有去...
EDIT(aftet honcheng的答案):
因爲我想通過迭代「趨勢」的結果,我在做:
NSDictionary *luckyNumbers = [responseString JSONValue];
NSArray *keys = [[luckyNumbers objectForKey:@"trends"] allKeys];
for (int i =0; i < [keys count]; i++) {
NSLog(@"%@", [keys objectAtIndex:i]);
}
顯然有些問題,因爲我沒有得到任何結果。
什麼JSON解析器是這樣的,到底是什麼?包含在iOS SDK中的JSON庫是私人和無證,你」我不打算使用它 – 2011-03-20 04:07:16
[解析Twitter中的JSON供稿] IOS(http://stackoverflow.com/questions/5289162/parsing-twitter-json-feed-in-ios) – 2011-05-30 16:39:10