Json Parsing问题iOS:缺少“

时间:2011-09-05 17:51:37

标签: iphone ios json parsing

尝试解析xcode中的json数据时遇到了一个大问题。我实际上尝试了两个不同的解析器,它仍然返回一个错误的json。有人可以提供帮助吗?

要解析的字符串(称为jsonResp)等于:

{
   "error":false,
   "errorMessage":null,
   "debugMessage":null,
   "count":1,
   "list":"links",
   "data":[
      {
         "date":"Jeudi \u00e0 00:00:00",
         "type":"friend",
         "picture":"http://graph.facebook.com/22222222/picture? type=square",
         "name":"Etouda Gaudo",
         "ink_id":"1",
         "chat_id":"1",
         "count":"1",
         "last_message":"CoUcou"
      }
   ]
}

要解析的字符串等于:

NSData *jsonData = [jsonResp dataUsingEncoding:NSUTF8StringEncoding];
NSError *error = nil;
NSDictionary *dictionary = [[CJSONDeserializer deserializer]  deserializeAsDictionary:jsonData error:&error];
NSLog(@"dictionary %@", dictionary);

然后我得到了字典的NSLog的以下结果:

dictionary {
count = 1;
data =     (
            {
        "chat_id" = 1;
        count = 1;
        date = "Jeudi \U00e0 00:00:00";
        "ink_id" = 1;
        "last_message" = CoUcou;
        name = "Test name";
        picture = "http://graph.facebook.com/22222222/picture?type=square";
        type = friend;
    }
);
debugMessage = "<null>";
error = 0;
errorMessage = "<null>";
list = links;

}

我无法弄清楚为什么“失踪...... 有没有人有解决方案。

提前致谢。

2 个答案:

答案 0 :(得分:2)

您正在将JSON反序列化为NSDictionary,与JSON不同,它不必在其属性名称周围加引号。您的解析器工作正常,但NSDictionary的NSLog将不会显示与原始JSON完全相同。

答案 1 :(得分:2)

NSLog只是供开发人员查看的打印表示,它是在类实例上调用description方法的结果。仅在项目可能雄心勃勃而没有它们的情况下添加引号,例如具有嵌入空间的字符串。要验证是否正确解析了JSON,请使用代码验证它。