如何在php
上解析json数组字符串到数组'[{"a": "1", "b": "2"}, {"a": "3"}]'
似乎json_decode允许仅解析对象但不允许解析数组。是否应该在使用json_decode之前手动解析为数组?
在字符串中似乎有问题。我用json得到一个变量,如果我输出它,看起来像json是有效的
echo($jsonvar); //result [{"title":"Home","id":"/","url":"/"}]
但是当我尝试从变量解析字符串时,即使修剪字符串
,结果也没有echo('[{"title":"Home","id":"/","url":"/"}]', true); //nice parsed array
echo($jsonvar, true); //nothing
echo(trim($jsonvar, " \t\n\r\0\x0B"), true); //nothing
答案 0 :(得分:5)
将true
作为第二个参数传递给json_decode()
,将json字符串解析为数组。
$json='[{"a": "1", "b": "2"}, {"a": "3"}]';
$arr= json_decode($json,true);
print_r($arr);
答案 1 :(得分:0)
您可以使用json_decode()
<?php
$str = '[{"a": "1", "b": "2"}, {"a": "3"}]';
$arr=json_decode($str,true);
print_r($arr);