Keith
Keith

Reputation: 302

How do I structure data in php to get the correct json result?

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?

Upvotes: 0

Views: 25

Answers (1)

M. Eriksson
M. Eriksson

Reputation: 13635

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

Upvotes: 1

Related Questions