@AleDv

Как ассоциативный массив в PHP перегнать в JSON массив?

Всем привет. Есть задача сгенерировать JSON объект клавиатуры для бота в Вк. Структура следующая:

{ 
    "one_time": false, 
    "buttons": [
        [{ 
                "action": { 
                    "type": "text", 
                    "payload": "{\"button\": \"1\"}", 
                    "label": "Negative" 
                }, 
                "color": "negative" 
            }, 
            { 
                "action": { 
                    "type": "text", 
                    "payload": "{\"button\": \"2\"}", 
                    "label": "Positive" 
                }, 
                "color": "positive" 
            }, 
            { 
                "action": { 
                    "type": "text", 
                    "payload": "{\"button\": \"2\"}", 
                    "label": "Primary" 
                }, 
                "color": "primary" 
            }, 
            { 
                "action": { 
                    "type": "text", 
                    "payload": "{\"button\": \"2\"}", 
                    "label": "Secondary" 
                }, 
                "color": "secondary" 
            } 
        ] 
    ] 
}


Проблема в том, что элемент buttons - массив, а json_encoding все ассоциативные массивы конвертит в объекты, а не массивы.

Например, такую структуру
$buttons = [
            "action" => [
                "type" => "location"
            ]
        ];

        $keyboard = [
            'one_time' => true,
            'buttons' => $buttons
        ];

сконвертит в такие объекты:

{"one_time":true,"buttons":{"action":{"type":"location"}}}


Элемент buttons - объект. Как сделать, что бы он был массивом?
  • Вопрос задан
  • 359 просмотров
Решения вопроса 1
Feaxer
@Feaxer
Программист-фрилансер
$buttons = [
["action" => [
"type" => "location"
]]
];
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
26 апр. 2024, в 10:01
500 руб./за проект
26 апр. 2024, в 09:18
500 руб./в час
26 апр. 2024, в 06:46
1500 руб./в час