我在我的应用程序中使用PHP服务我从服务器获取响应我试图解析响应字符串但JSON Parser返回NULL值。我无法解析此响应字符串。我对这个问题很感兴趣,但没有人给出确切的解决方案。我正在使用SBJson
解析器和NSJSONSeralization
,但它返回null值。我在下面发布我的回复字符串请帮助我任何一个。
响应字符串是
([["{\"category_id\":\"1\", \"category_name\":\"BEVERAGES\", \"image_id\":\"6\"}"]])
答案 0 :(得分:1)
确保按照以下代码解析json:
NSString * jsonString = @"{\"category_id\":\"1\", \"category_name\":\"BEVERAGES\", \"image_id\":\"6\"}";
NSData * jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
id jsonContainer = [NSJSONSerialization JSONObjectWithData:jsonData
options:NSJSONReadingMutableContainers
error:nil];
答案 1 :(得分:0)
此回复
([["{\"category_id\":\"1\", \"category_name\":\"BEVERAGES\", \"image_id\":\"6\"}"]])
不适合JSON。它发生了,服务器“想要”发送JSON但是没有正确;) - 或者你无法正确打印出JSON。
JSON应该看起来像:
[[{"category_id":"1","category_name":"BEVERAGES","image_id":"6"}]]
或
[[{"category_id":1,"category_name":"BEVERAGES","image_id":6}]]
注意:键/值对可能会被重新排序。
此外,请确保指定正确的Accept
标头值,例如您的请求中的“application / json”(警告:编辑前不正确)。
并且,在尝试使用JSON解析器解析响应之前,请检查响应的状态代码(应为200 (OK)
)和 MIME类型。如果您期望JSON,您应该获得一个Content-Type标头(另请参见NSURLResponse的属性MIMEType
),其值应为application/json
。
答案 2 :(得分:-1)
最好的解决方法是在服务器端修复它并正确编码。
如果无法做到这一点,请使用[jsonString stringByReplacingOccurrencesOfString:@"\" withString:@""];