【问题标题】:Unexplainable error while parsing JSON解析 JSON 时出现无法解释的错误
【发布时间】:2012-02-06 13:15:26
【问题描述】:

我正在尝试将 JSON 解析为 NSDictionary。我尝试了很多不同的方法,但我总是有同样的错误。这是最简单的例子:

     NSString *response = [request responseString];
     NSLog(@"%@",response);

     NSDictionary *jsonDict = [response JSONValue];
     NSLog(@"%@",jsonDict);

我可以有两种类型的响应字符串: 1) 类似{"s_login":{"error":6}}

2) 类似{s_login:{"error":0,"sid":"66d4da3e870427bb"}}

所以问题是:

当 responseString 为 1 - 一切正常。我可以把它变成 NSDictionary 并且我的 NSLog 告诉我:

{
"s_login" =     {
    error = 6;
};
}

但是当 responseString 是第二个变体时,NSDictionary 为空,这就是我在控制台输出中的内容:

 -JSONValue failed. Error trace is: (
"Error Domain=org.brautaset.JSON.ErrorDomain Code=3 \"Object key string expected\" UserInfo=0x6043680 {NSLocalizedDescription=Object key string expected}"

好像我已经完全描述了我的问题。任何帮助都是非常需要和赞赏的。感谢您的宝贵时间

【问题讨论】:

    标签: iphone objective-c json asihttprequest


    【解决方案1】:
    {s_login:{"error":0,"sid":"66d4da3e870427bb"}}
    

    应该是

    {"s_login":{"error":0,"sid":"66d4da3e870427bb"}}
    

    【讨论】:

      【解决方案2】:

      回应:

      {s_login:{"error":0,"sid":"66d4da3e870427bb"}}
      

      不是有效的 JSON 字符串。它缺少s_login 周围的双引号。它们是强制性的。

      你必须在服务器端修复它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-18
        • 1970-01-01
        • 1970-01-01
        • 2011-12-16
        • 2011-08-19
        • 2018-06-23
        相关资源
        最近更新 更多