JSON解析不解

JSON解析不解

问题描述:

在我的应用我赶上从服务器JSON格式的响应,这样的事情:JSON解析不解

{"hotels": 
    {"data": 
    [{"id":"id1", 
    "country":"counry1", 
    "state":"state1", 
    "city":"city1", 
    } 
    {"id":"id2", 
    "country":"counry2", 
    "state":"state2", 
    "city":"city2", 
    }] 
    } 
} 

如果我试图通过这个代码来访问元素

ID = [[[ParsedResponse objectForKey:@"hotels"] objectForKey:@"data"] valueForKey:@"id"]; 

一切正常。但如果我做

NSMutableDictionary *ItemsFromParsedResponse = [[NSMutableDictionary alloc] init]; 
ItemsFromParsedResponse = [ParsedResponse valueForKeyPath:@"hotels.data"]; 
while (ItemsFromParsedResponse = (NSMutableDictionary*)[ParsedResponseEnumerator nextObject]) { 
    ID = [ItemsFromParsedResponse valueForKey:@"id"]; 
} 

ID是[null]。我不明白,为什么。 感谢您的任何建议。

你要么在这里做一些奇怪的事情,要么我们没有你所有的代码。我会写的代码发生故障的部件如下:

itemsFromParsedResponse = [parsedResponse valueForKeyPath:@"hotels.data"]; 

for (NSDictionary *jsonFragment in itemsFromParsedResponse) { 
    jsonID = [jsonFragment valueForKey:@"id"]; 
} 

我已经按照以小写字符开头的变量名的约定(以大写字母开始应保留类名),我使用快速枚举,请记住hotels.data的信息是NSArray。我还将ID更名为jsonID,以免与指针id混淆。

+0

非常感谢。有用。 – Akki 2011-12-20 11:26:35