解析JSON时出现无法解释的错误
问题描述:
我想解析JSON到NSDictionary中。我尝试了很多不同的方式,而且我总是遇到同样的错误。下面是最简单的例子:解析JSON时出现无法解释的错误
NSString *response = [request responseString];
NSLog(@"%@",response);
NSDictionary *jsonDict = [response JSONValue];
NSLog(@"%@",jsonDict);
我可以有两种类型responseString的: 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}"
好像我已经完全描述了我的问题。任何帮助是非常希望和赞赏。感谢您的时间
答
响应:
{s_login:{"error":0,"sid":"66d4da3e870427bb"}}
不是有效的JSON字符串。它缺少围绕s_login
的双引号。它们是强制性的。
你必须在服务器端修复它。
答
{s_login:{"error":0,"sid":"66d4da3e870427bb"}}
应该
{"s_login":{"error":0,"sid":"66d4da3e870427bb"}}