douxing9641 2018-08-16 10:23
浏览 52
已采纳

我不能将json数组格式化为所需的格式

i have json array that i generate from php. However the format is not what i want. i have related questions but it is not the format i want Please see below what i did and tried vs what i want

    //////////////
$data variable array
///////////////

Array
    (
        [0] => Array
            (
                [id] => 2
                [start_date] => 2018-05-17 08:40
                [end_date] => 2018-05-17 09:00
            )

        [1] => Array
            (
                [id] => 3
                [start_date] => 2018-05-17 08:40
                [end_date] => 2018-05-17 09:00
            )
      )

This is what i do

$array[] = $data;
echo json_encode($array);

The output

[
 {"id":2,"start_date":"2018-05-17 08:40","end_date":"2018-05-17 09:00"},
 {"id":3,"start_date":"2018-05-17 08:40","end_date":"2018-05-17 09:00"}
]

This is what i tried

$array["data"] = $data;
echo json_encode($array);

The output

{"data":
 {"id":2,"start_date":"2018-05-17 08:40","end_date":"2018-05-17 09:00"},
 {"id":3,"start_date":"2018-05-17 08:40","end_date":"2018-05-17 09:00"}
}

The output i want

{
  "data": [
             {"id":2,"start_date":"2018-05-17 08:40","end_date":"2018-05-17 09:00"},
             {"id":3,"start_date":"2018-05-17 08:40","end_date":"2018-05-17 09:00"}
          ]
}
  • 写回答

4条回答 默认 最新

  • duanjia4817 2018-08-16 10:37
    关注

    you have to build an array first, then construct an object. See below

    $array = [
        [
            "id" => 2,
            "start_date" => "2018-05-17 08:40",
            "end_date" => "2018-05-17 09:00"
        ],
        [
            "id" => 3,
            "start_date" => "2018-05-17 08:40",
            "end_date" => "2018-05-17 09:00"
        ]
    ];
    $data["data"] = $array;
    echo json_encode($data);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?