Jam*_*ica 3 php jquery json nested multidimensional-array
我有以下输出使用的数组 echo json_encode(array);
Array (
[0] => Array (
[id] => 85
[name] => yeyery
[area_xy] => {"type": "rectangle","coordinates": {"point1":"22.272219163607744:114.13580417633057","point2":"22.275753627993897:114.1413402557373","point3":"22.27297371968214:114.14400100708008","point4":"22.270868895211578:114.13910865783691"}}
)
)
Run Code Online (Sandbox Code Playgroud)
这是我得到的输出:
[
{
"id":"85",
"name":"yeyery",
"area_xy":"{\"type\": \"rectangle\",\"coordinates\": {\"point1\":\"22.272219163607744:114.13580417633057\",\"point2\":\"22.275753627993897:114.1413402557373\",\"point3\":\"22.27297371968214:114.14400100708008\",\"point4\":\"22.270868895211578:114.13910865783691\"}}",
}
]
Run Code Online (Sandbox Code Playgroud)
但预期的输出是这样的:
[
{
"id":"85",
"name":"yeyery",
"area_xy":{"type": "rectangle","coordinates": {"point1":"22.272219163607744:114.13580417633057","point2":"22.275753627993897:114.1413402557373","point3":"22.27297371968214:114.14400100708008","point4":"22.270868895211578:114.13910865783691"}},
}
]
Run Code Online (Sandbox Code Playgroud)
在"area_xy"我不希望有双引号包装我的嵌套JSON之后.
初始输出具有误导性; 你应该使用var_export,你会发现该area_xy值已经是一个字符串:
array (
0 =>
array (
'id' => 85,
'name' => 'yeyery',
'area_xy' => '{"type": "rectangle","coordinates": {"point1":"22.272219163607744:114.13580417633057","point2":"22.275753627993897:114.1413402557373","point3":"22.27297371968214:114.14400100708008","point4":"22.270868895211578:114.13910865783691"}}',
),
)
Run Code Online (Sandbox Code Playgroud)
要纠正它,首先解码它,然后编码整个shebang:
$arr[0]['area_xy'] = json_decode($arr[0]['area_xy']);
echo json_encode($arr, JSON_PRETTY_PRINT);
Run Code Online (Sandbox Code Playgroud)