Rumah > Soal Jawab > teks badan
{
"a1": {
"price": {
"high": 4.68,
"low": 3.75,
"code": 1
}
},
"a2": {
"price": {
"high": 2.77,
"low": 2.29,
"code": 1
}
}
}
现有上面的json,怎么把它转换一下变成下面的格式:
{
"china": {
"cny": {
"a1": {
"high": 111,
"low": 66
},
"a2": {
"high": 44,
"low": 22
}
}
}
}
Idea saya ialah mengekstrak json asal dahulu, kerana json asal mungkin mempunyai format yang berbeza, dan kemudian menukarnya secara seragam ke dalam format berikut, yang tidak boleh dilakukan dengan foreach.
伊谢尔伦2017-06-13 09:24:12
$jsonStr = <<<CODE
{
"a1": {
"price": {
"high": 4.68,
"low": 3.75,
"code": 1
}
},
"a2": {
"price": {
"high": 2.77,
"low": 2.29,
"code": 1
}
}
}
CODE;
$nativeArray = json_decode($jsonStr, true);
$data = array();
foreach ($nativeArray as $key => $item) {
unset($item['price']['code']);
$data['china']['cny'][$key] = $item['price'];
}
echo json_encode($data);