du6jws6975
2017-11-10 05:47 阅读 91

如何在php中构造数据以获得正确的json结果?

I am working in php and need to export a json document in the following format (below).

I know how to do the actual export with file_put_contents($data_file, json_encode($json_array)); but I'm struggling with what format I need to have the $json_array in to achieve the desired results.

I need the final json file to be formatted like this:

{
  "2016": [
      {
        "date": "2016/01/01",
        "close": 837
      },
      {
        "date": "2016/12/01",
        "close": 769
      }
    ],
  "2015": [
      {
        "date": "2015/01/01",
        "close": 637
      },
      {
        "date": "2015/12/01",
        "close": 669
      }
    ],
  "2014": [
      {
        "date": "2014/01/01",
        "close": 537
      },
      {
        "date": "2014/12/01",
        "close": 569
      }
    ]
}

Is this accomplished by exporting an array with 3 keys, each containing a multidimensional array? Or an array of objects of some type?

Maybe I'm overthinking this, but I've been working this problem all day and have not been able to get the desired results.

To me the structure looks like an array; with the (first) key of 2016 and a value of an array, but then what's inside that array?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    dqqxkq4047 dqqxkq4047 2017-11-10 05:56

    It's pretty straight forward. Just create an array in PHP with the same leves and keys:

    $data = [
        '2016' => [
            [
                "date"  => "2016/01/01",
                "close" =>  837
            ],
            [
                "date"  => "2016/12/01",
                "close" => 769
            ],
        ],    
        '2015' => [
            [
                "date"  => "2015/01/01",
                "close" => 637
            ],
            [
                "date"  => "2015/12/01",
                "close" => 669
            ],
        ],    
        // ... and so on
    ];
    

    Demo: https://3v4l.org/cfHqs

    点赞 评论 复制链接分享

相关推荐