Создание массива json с помощью php - PullRequest
0 голосов
/ 06 мая 2019

Я пытаюсь создать массив json для заполнения таблицы данных с кодом в php. Поля должны быть:

{
 "data": [
    {
        "RecordID": 1,
        "OrderID": "61715-075",
        "Country": "China",
        "ShipCountry": "CN",
    },
    {
        "RecordID": 2,
        "OrderID": "63629-4697",
        "Country": "Indonesia",
        "ShipCountry": "ID",

    },
    {
        "RecordID": 3,
        "OrderID": "68084-123",
        "Country": "Argentina",
        "ShipCountry": "AR",
    }
    ]
}

Я пытался сделать это только для проверки полей $ array = array ('one', 'two', 'three', 'four');

            foreach ($array as $key => $value) {
                $temp['data'] = array(
                            'RecordID' => 1, 
                            'Country' => "Indonesia",
                            'CompanyName' => "Indonesia"

                        );


                echo json_encode($temp);
            }

Но его возвращение

{"data":{"RecordID":1,"Country":"Indonesia","CompanyName":"Indonesia"}}{"data":{"RecordID":1,"Country":"Indonesia","CompanyName":"Indonesia"}}{"data":{"RecordID":1,"Country":"Indonesia","CompanyName":"Indonesia"}}{"data":{"RecordID":1,"Country":"Indonesia","CompanyName":"Indonesia"}}

1 Ответ

2 голосов
/ 06 мая 2019

Вы строите несколько JSON-строк. Чтобы иметь один, содержащий все ваши данные, все, что вам нужно сделать, это закодировать самый внешний массив (в вашем случае это выглядит как $array).

Для этого достаточно:

echo json_encode($array);

Вы должны вызывать функцию json_encode после того, как закончите подготовку данных, так что в этом случае после цикла.

...