Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.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
Php 来自服务器的JSON转换 我正在研究一个应用程序,它使用JSON表示来获取数据,并使用NSjSunSerialSurviv./P>将其转换为基础对象。_Php_Ios_Objective C_Json_Nsjsonserialization - Fatal编程技术网

Php 来自服务器的JSON转换 我正在研究一个应用程序,它使用JSON表示来获取数据,并使用NSjSunSerialSurviv./P>将其转换为基础对象。

Php 来自服务器的JSON转换 我正在研究一个应用程序,它使用JSON表示来获取数据,并使用NSjSunSerialSurviv./P>将其转换为基础对象。,php,ios,objective-c,json,nsjsonserialization,Php,Ios,Objective C,Json,Nsjsonserialization,我的问题出现在从服务器获取数据之后。这是响应的一个示例: {“groups”:{“15”:{“idgroupcat”:“15”,“name”:“\u05e7\u05d1\u05d5\u05e6\u05d4” 1,“电源”:{“9”:{“idmaincat”:“9”,“名称”:“\u05e8\u05d0\u05e9\u05d9” 1,“subs”:{“12”:{“idsubcat”:“12”,“idcategory”:“23”,“name”:“\u05ea\u05ea” 1、“标题”:“workp

我的问题出现在从服务器获取数据之后。这是响应的一个示例:

{“groups”:{“15”:{“idgroupcat”:“15”,“name”:“\u05e7\u05d1\u05d5\u05e6\u05d4” 1,“电源”:{“9”:{“idmaincat”:“9”,“名称”:“\u05e8\u05d0\u05e9\u05d9” 1,“subs”:{“12”:{“idsubcat”:“12”,“idcategory”:“23”,“name”:“\u05ea\u05ea” 1、“标题”:“workpicurl”:“numberofprofs”:null,“numberofworks”:null,“averageapplicationsperwork”:null,“averagecloseprice”:null,“averagewhen”:“0”}},“16”:{“idgroupcat”:“16”,“名称”:“组” 1、“主要”:{“10”:{“idmaincat”:“10”、“名称”:“主要” 1,“subs”:{“13”:{“idsubcat”:“13”,“idcategory”:“24”,“name”:“sub” 1、“标题”:“workpicurl”:“numberofprofs”:null,“numberofworks”:null,“averageapplicationsperwork”:null,“averagecloseprice”:null,“averagewhen”:“0”}}},,“11”:{“idmaincat”:“11”,“名称”:“main” 2、“subs”:{“14”:{“idsubcat”:“14”,“idcategory”:“25”,“name”:“sub” 2、“标题”:“workpicurl”:“numberofprofs”:null,“numberofworks”:null,“averageapplicationsperwork”:null,“averagecloseprice”:null,“averagewhen”:“0”}}},,“13”:{“idmaincat”:“13”,“名称”:“main” 2,“subs”:{“16”:{“idsubcat”:“16”,“idcategory”:“26”,“name”:“sub 2、“标题”:“workpicurl”:“numberofprofs”:null,“numberofworks”:null,“averageapplicationsperwork”:null,“averagecloseprice”:null,“averagewhen”:“0”}}}},,“14”:{“idmaincat”:“14”,“名称”:“main” 2、“subs”:{“17”:{“idsubcat”:“17”,“idcategory”:“27”,“name”:“sub” 2、“标题”:“workpicurl”:“numberofprofs”:null,“numberofworks”:null,“averageapplicationsperwork”:null,“averagecloseprice”:null,“averagewhen”:“0”}}},,“15”:{“idmaincat”:“15”,“名称”:“main” 2,“subs”:{“18”:{“idsubcat”:“18”,“idcategory”:“28”,“name”:“sub” 2、“标题”:“workpicurl”:“numberofprofs”:null,“numberofworks”:null,“averageapplicationsperwork”:null,“averagecloseprice”:null,“averagewhen”:“0”},“23”:{“idsubcat”:“23”,“idcategory”:“31”,“name”:“sub 8、“标题”:“workpicurl”:“numberofprofs”:null,“numberofworks”:null,“averageapplicationsperwork”:null,“averagecloseprice”:null,“averagewhen”:“0”},“24”:{“idsubcat”:“24”,“idcategory”:“32”,“name”:“sub 8、“标题”:“workpicurl”:“numberofprofs”:null,“numberofworks”:null,“averageapplicationsperwork”:null,“averagecloseprice”:null,“averagewhen”:“0”}},“17”:{“idgroupcat”:“17”,“名称”:“组” 2.“主要”:{“19”:{“idmaincat”:“19”,“名称”:“主要” 4,“subs”:{“22”:{“idsubcat”:“22”,“idcategory”:“30”,“name”:“sub” 6、“标题”:“workpicurl”:“numberofprofs”:null,“numberofworks”:null,“averageapplicationsperwork”:null,“averagecloseprice”:null,“averagewhen”:“0”}},“19”:{“idgroupcat”:“19”,“名称”:“组” 2.“主要”:{“18”:{“idmaincat”:“18”,“名称”:“主要” 3,“subs”:{“21”:{“idsubcat”:“21”,“idcategory”:“29”,“name”:“sub” 3、“标题”:“workpicurl”:“numberofprofs”:null,“numberofworks”:null,“averageapplicationsperwork”:null,“averagecloseprice”:null,“averagewhen”:“0”}},“20”:{“idgroupcat”:“20”,“名称”:“组” 2.“主要”:{“20”:{“idmaincat”:“20”,“名称”:“主要” 3,“subs”:{“25”:{“idsubcat”:“25”,“idcategory”:“33”,“name”:“sub” 3、“标题”:“workpicurl”:“numberofprofs”:null,“numberofworks”:null,“averageapplicationsperwork”:null,“averagecloseprice”:null,“averagewhen”:“0”}},“21”:{“idgroupcat”:“21”,“名称”:“组” 2、“主要”:{“21”:{“idmaincat”:“21”、“名称”:“主要” 3,“subs”:{“26”:{“idsubcat”:“26”,“idcategory”:“34”,“name”:“sub” 3、“标题”:“workpicurl”:“numberofprofs”:null,“numberofworks”:null,“averageapplicationsperwork”:null,“averagecloseprice”:null,“averagewhen”:“0”}

一旦我尝试使用NSJSONSerialization转换它,它将返回null

NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data1 options:kNilOptions error:&err];
如果我使用该方法查看这是否是一个有效的json对象,则该方法返回NO

我知道问题出在服务器响应中,但我不知道针对具体问题向程序员提供什么输入。服务器是用php编写的

有什么建议吗?
谢谢,

我认为问题出在id组15上,有一些未知字符(由我提供)没有正确呈现。在调用output方法之前,在服务器php文件上尝试此修复:

header ('Content-type: text/html; charset=utf-8');
echo json_encode($yourDataObject);

好的,在对代码进行了一点挖掘之后


问题出现在服务器端的响应编码中。为了解决这个问题,在响应中添加了utf-8头。这解决了这个问题,字符串现在可以转换成一个基础对象。
    $phpNative = Zend_Json::decode($yourJSON, Zend_Json::TYPE_OBJECT);

我将复制粘贴到$yourJSON

错误变量err中返回了什么错误?错误很重要,它是有效的JSON:“操作无法完成。(Cocoa错误3840。)”这就是为什么jsonlint对我来说现在很慢,所以所有人都在使用它。:-)查看JSON反序列化之前的几行代码也会很有帮助,以证明data1确实是发布字符串的NSData。将JSON字符串放入数据很可能是一个问题—很可能是因为使用了错误的字符串编码。需要查看更多代码。