Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用IPhone的JSONKit解码JSON bool缺少什么_Iphone_Objective C_Json_Deserialization - Fatal编程技术网

使用IPhone的JSONKit解码JSON bool缺少什么

使用IPhone的JSONKit解码JSON bool缺少什么,iphone,objective-c,json,deserialization,Iphone,Objective C,Json,Deserialization,我有一个REST端点,它根据服务器操作是否成功返回BOOL值。它返回的响应体为true或false 当我尝试从服务器解码该值时,出现以下错误: Unexpected token, wanted '{', '}', '[', ']', ',', ':', 'true', 'false', 'null', '"STRING"', 'NUMBER'. 我甚至从等式中删除了服务器响应。现在我只是想让这段代码正常工作: NSString *result = @"true"; NSNumber *resp

我有一个REST端点,它根据服务器操作是否成功返回BOOL值。它返回的响应体为true或false

当我尝试从服务器解码该值时,出现以下错误:

Unexpected token, wanted '{', '}', '[', ']', ',', ':', 'true', 'false', 'null', '"STRING"', 'NUMBER'.
我甚至从等式中删除了服务器响应。现在我只是想让这段代码正常工作:

NSString *result = @"true";
NSNumber *response = [ result objectFromJSONStringWithParseOptions:JKParseOptionNone error:&err ];
if( response == NULL )
    NSLog(@"error: %@", err.localizedDescription );
else
    NSLog( @"%d", ( int )response );
无论如何,我仍然会遇到错误情况并打印出错误消息:

Unexpected token, wanted '{', '}', '[', ']', ',', ':', 'true', 'false', 'null', '"STRING"', 'NUMBER'.
我遗漏了什么?

true不是有效的json字符串

您将结果设置为NSString@true,它不是json

相反,您应该从服务器获取NSString*响应,然后将objectFromJSONStringWithParseOptions:error:应用于它


要检查有效的JSON,请尝试。

如果整个正文包含“true”或“false”,则它不是JSON响应。试着返回{response:true}我有这样的印象,因为JSONKit的文档说它将把true转换成一个NSNumber,而错误说它希望标记为true。我认为它的行为可能不正确,它可能不是有效的JSON,但我认为JSONKit框架仍然可以从它的文档中正确地解析它。显然我错了。返回结果{data:true}解决了这个问题。