【发布时间】:2014-04-17 21:14:38
【问题描述】:
如何在 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
【问题讨论】:
-
这怎么得了两票?如果实际阅读了文档,那么这个问题将永远不会被问到。来自文档:
When TRUE, returned objects will be converted into associative arrays.` -
信不信由你,
json_decode()实际上可以解码 JSON;任何类型的有效 JSON。我不知道你是如何得出不同的结论的。 -
问题已经用下面的代码
json_decode(html_entity_decode($jsonvar));解决了,抱歉这个愚蠢的问题,因为答案无法删除。我认为原因在数组中。