@phpcoder81

Как изменить вывод JSON?

Всем привет. Есть php скрипт

$products = array(
 'text' => 'iphone',
 'price' => 2000,
 'count' => 1
);

$info = array(
 'order' => $products,
 'username' => 'Иван',
 'phone' => '+7-123-45-67',
 'email' => 'mail@mail.ru'
);

echo json_encode($info);


Скрипт выводит корректный JSON.

{"order":{"count":"1","price":"2000","text":"iphone"},"username":"Иван","phone":"+7-123-45-67","email":"mail@mail.ru"}

Но для одного сервиса НЕОБХОДИМ JSON такого типа

{"order":[{"count":"1","price":"2000","text":"iphone"}],"username":"Иван","phone":"+7-123-45-67","email":"mail@mail.ru"}

Как получить именно такой вывод? (добавились квадратные скобки в поле order)
  • Вопрос задан
  • 188 просмотров
Решения вопроса 1
@JihadTV
Квадратные скобки - значит массив. Соответственно, если вы хотите чтоб выводился массив - передавайте массив, с ассоциативный массивом $products внутри, который при encode превращается в объект.
$info = array(
            'order' => [$products],
            'username' => 'Иван',
            'phone' => '+7-123-45-67',
            'email' => 'mail@mail.ru'
        );
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@vanillathunder
$products [] = array(
 'text' => 'iphone',
 'price' => 2000,
 'count' => 1
);
Ответ написан
@ilshat_gayanov
$products = [
   'text' => 'iphone',
   'price' => 2000,
   'count' => 1
],
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы