我在一个文件中有一个嵌套的json数组,如下所示:
{
"id": 12345679,
"gid": 6012,
"history": [
{
"date": "0000-00-00 00:00:00",
"rank": 6
}
]}
我很好奇如何读取json文件并使用php附加历史数组,然后重新编写名为 data.json 的文件。
这是我迄今为止所得到的。
$json = file_get_contents('data.json');
$json = (array)json_decode($json);
$output = $json['history'][] = array(
array('date' => '0000-00-00 00:00:00', 'rank' => 3),
array('date' => '0000-00-00 00:00:00', 'rank' => 2),
array('date' => '0000-00-00 00:00:00', 'rank' => 6)
);
$data = json_encode(array_marge($json, $output));
感谢您的帮助!
答案 0 :(得分:0)
您目前正在追加三个子阵列的块。你想要做的是逐个上诉:
$json['history'][] = array('date' => '0000-00-00 00:00:00', 'rank' => 3);
$json['history'][] = array('date' => '0000-00-00 00:00:00', 'rank' => 2);
$json['history'][] = array('date' => '0000-00-00 00:00:00', 'rank' => 6);
然后将其用作$output
。
或者使用array_merge
将三项列表添加到输入$json["history"]
。但是不要像你上次尝试的那样合并两个数组$json
和$output
。