Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.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变量_Php_Json - Fatal编程技术网

Php 无法解码json变量

Php 无法解码json变量,php,json,Php,Json,下面是生成JSON变量的代码。我使用php内置的json\u decode函数对json变量进行解码,但解码json变量后,我得到了NULL $a=array("targetAction"=>"getHeadFields","targetHead"=>$table_name); $obj1 = Post_Uamsdata($a); echo $obj1; $file = json_decode($obj1,true); var_dump($file); $obj1是我的json

下面是生成JSON变量的代码。我使用php内置的
json\u decode
函数对json变量进行解码,但解码json变量后,我得到了NULL

$a=array("targetAction"=>"getHeadFields","targetHead"=>$table_name);
$obj1 =  Post_Uamsdata($a);
echo $obj1;

$file = json_decode($obj1,true);
var_dump($file);
$obj1是我的json变量。每当我回显它时,我得到的结果如下:

{"success":"yes","error":"","message":"","arguments":"[{\"fieldNo\":\"1\",\"fieldName\":\"ItemType\",\"fieldType\":\"character(16)\",\"notnull\":\"f\",\"fieldLabel\":null,\"primary_key\":\"f\",\"default\":null,\"fieldOption\":[]},{\"fieldNo\":\"2\",\"fieldName\":\"Long\",\"fieldType\":\"character(20)\",\"notnull\":\"f\",\"fieldLabel\":null,\"primary_key\":\"f\",\"default\":null,\"fieldOption\":[]},{\"fieldNo\":\"3\",\"fieldName\":\"Lat\",\"fieldType\":\"character(20)\",\"notnull\":\"f\",\"fieldLabel\":null,\"primary_key\":\"f\",\"default\":null,\"fieldOption\":[]},{\"fieldNo\":\"4\",\"fieldName\":\"MapDate\",\"fieldType\":\"character(16)\",\"notnull\":\"f\",\"fieldLabel\":null,\"primary_key\":\"f\",\"default\":null,\"fieldOption\":[]},{\"fieldNo\":\"5\",\"fieldName\":\"FieldNote\",\"fieldType\":\"character(64)\",\"notnull\":\"f\",\"fieldLabel\":null,\"primary_key\":\"f\",\"default\":null,\"fieldOption\":[]}]"}

我在在线json验证器中检查了它,它说这个json是有效的。但是,每当我将$obj1解码为$file时,我总是得到NULL。

json\u decode
之后,我们得到以下结果,但我想这不是您想要的。您还需要解析fieldNo、fieldName等

  $json = '{"success":"yes","error":"","message":"","arguments":"[{\"fieldNo\":\"1\",\"fieldName\":\"ItemType\",\"fieldType\":\"character(16)\",\"notnull\":\"f\",\"fieldLabel\":null,\"primary_key\":\"f\",\"default\":null,\"fieldOption\":[]},{\"fieldNo\":\"2\",\"fieldName\":\"Long\",\"fieldType\":\"character(20)\",\"notnull\":\"f\",\"fieldLabel\":null,\"primary_key\":\"f\",\"default\":null,\"fieldOption\":[]},{\"fieldNo\":\"3\",\"fieldName\":\"Lat\",\"fieldType\":\"character(20)\",\"notnull\":\"f\",\"fieldLabel\":null,\"primary_key\":\"f\",\"default\":null,\"fieldOption\":[]},{\"fieldNo\":\"4\",\"fieldName\":\"MapDate\",\"fieldType\":\"character(16)\",\"notnull\":\"f\",\"fieldLabel\":null,\"primary_key\":\"f\",\"default\":null,\"fieldOption\":[]},{\"fieldNo\":\"5\",\"fieldName\":\"FieldNote\",\"fieldType\":\"character(64)\",\"notnull\":\"f\",\"fieldLabel\":null,\"primary_key\":\"f\",\"default\":null,\"fieldOption\":[]}]"}';

 $arr = json_decode($json, true);
 echo "<pre>";
 print_r($arr);
由于该函数仅适用于UTF-8编码的字符串,请尝试以下操作:


无法复制-假设您的函数
Post_Uamsdata
生成您声明的JSON字符串,它将成功解码:请共享Post_Uamsdata()的代码。只有在整个JSON字符串附加分号(;)时才可能。所以,我想您应该这样做:$file=json_decode(rtrim($obj1,;”),true);让我知道。你能把代码上传到服务器上,这样我们就可以查看返回的JSON吗?JSON结果返回$obj1我已经发布了结果plz see iti也通过硬编码值进行了检查。它工作正常,但当我解码返回我复制的相同字符串的JSON对象时,它会给我NULL。仍然没有得到任何结果
 Array
 (
   [success] => yes
   [error] => 
   [message] => 
   [arguments] =>  [{"fieldNo":"1","fieldName":"ItemType","fieldType":"character(16)","notnull":"f","fieldLabel":null,"primary_key":"f","default":null,"fieldOption":[]},{"fieldNo":"2","fieldName":"Long","fieldType":"character(20)","notnull":"f","fieldLabel":null,"primary_key":"f","default":null,"fieldOption":[]},{"fieldNo":"3","fieldName":"Lat","fieldType":"character(20)","notnull":"f","fieldLabel":null,"primary_key":"f","default":null,"fieldOption":[]},{"fieldNo":"4","fieldName":"MapDate","fieldType":"character(16)","notnull":"f","fieldLabel":null,"primary_key":"f","default":null,"fieldOption":[]},{"fieldNo":"5","fieldName":"FieldNote","fieldType":"character(64)","notnull":"f","fieldLabel":null,"primary_key":"f","default":null,"fieldOption":[]}]
  )
$file = json_decode(mb_convert_encoding($obj1, 'UTF-8'),true);