我有一个字符串(JSON类型),我想将其转换为PHP数组。
{
"action":"putEntity",
"dataPacket":{
"entity":[
{
"name":"product",
"data":[
{ }
]
}
]
}
}
我这样做了,
$array = json_decode(json_encode($data), True);
当我执行 var_dump($ array); 时,它会显示:
string(1578) "{ "action": "putEntity", "dataPacket": { "entity": [{ "name": "product", "data": [{ }] }] } }"
但当我这样做时, print_r($ array); 会显示:
{
"action": "putEntity",
"dataPacket":{
"entity":[
{
"name": "product",
"data":[{}]
}
]
}
}
问题是当我尝试打印$array['dataPacket'];
时会抛出错误非法字符串偏移'dataPacket'
为什么var_dump将其显示为String?请帮忙。
答案 0 :(得分:1)
$array = json_decode(json_encode($data), True);
应该是
$array = json_decode($data, true);