JSON解析不解

Posted

技术标签:

【中文标题】JSON解析不解【英文标题】:JSON parsing incomprehension 【发布时间】:2011-12-20 10:54:26 【问题描述】:

在我的应用程序中,我以 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]。我不明白,为什么。 感谢您的任何建议。

【问题讨论】:

【参考方案1】:

要么你在这里做一些奇怪的事情,要么我们没有你所有的代码。我会写你失败的代码如下:

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

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

我遵循了以小写字符开头的变量名称的约定(以大写字符开头的类名应该保留),并且我正在使用快速枚举,请记住hotels.data 处的信息是一个NSArray。我还将ID 重命名为jsonID 以避免与id 指针混淆。

【讨论】:

以上是关于JSON解析不解的主要内容,如果未能解决你的问题,请参考以下文章

JSON在线解析,新版本JSON在线解析

Scala解析JSON

如何将这个json进行解析?

pg解析json

PHP解析JSON

json数据解析出错应该怎么办?