Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.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如下所示: {"id":"3", "field2":"ssss", "field3":[ {"field31":"wwwww", "field32":"qqqq"}, {"field31":"wwwww", "field32":"qqqq"}, {"field31":"wwwww", "field32":"qqqq"}, ]} 我在php中阅读json值

我收到的多级json如下所示:

{"id":"3",
"field2":"ssss",
"field3":[
         {"field31":"wwwww",
         "field32":"qqqq"},
         {"field31":"wwwww",
         "field32":"qqqq"},
         {"field31":"wwwww",
         "field32":"qqqq"},
   ]}    
我在php中阅读json值(第一级):

$json = file_get_contents('php://input');
$json_post = json_decode(utf8_decode($json), true);
$id = $json_post['id'];

但是我不知道如何在第二层获得json。最简单的方法是什么?我只需要在其他变量中获取json,比如$json_post,我将在for bucle中读取它,以获取json文件的每一行

如果运行
json_decode(utf8_decode($json)),它将为您提供一个PHP对象

编辑:我没有注意到您正在使用数组转换。这就是阵列的外观

    echo $json_post['field3']['field31'];

如果您运行
json\u decode(utf8\u decode($json)),它将为您提供一个PHP对象

编辑:我没有注意到您正在使用数组转换。这就是阵列的外观

    echo $json_post['field3']['field31'];

当第二个参数设置为true时不是。然后将结果生成一个数组。我所有的参数都是字符串。“我能用这个吗?”约翰说得对。遗漏了这一点,并进行了修改。它是有效的。当计时器允许时,我将接受。谢谢一个问题,如何检查第二个级别是否为空?如果第二个参数设置为true,则无法检查。然后将结果生成一个数组。我所有的参数都是字符串。“我能用这个吗?”约翰说得对。遗漏了这一点,并进行了修改。它是有效的。当计时器允许时,我将接受。谢谢一个问题,我如何检查第二层是否为空?