2

我在一个看起来像这样的文件中有一个嵌套的 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));

谢谢您的帮助!

4

1 回答 1

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用于将您的三项列表添加到 input$json["history"]中。但是不要合并这两个数组$json$output就像你上次尝试的那样。

于 2013-01-13T18:15:16.513 回答