материализуются css | взорвать JSON строковую форму Chips в массив, чтобы вставить mysql - PullRequest
0 голосов
/ 13 марта 2020

У меня есть следующий код для отправки chipsData из микросхем в форму ввода.

        onChipAdd: (event, chip, modal) => {
             var chipsData = M.Chips.getInstance($('.chips')).chipsData;
             var chipsDataJson = JSON.stringify(chipsData);
             $('#ModalEdit #userEventData').val(chipsDataJson);
         },
         onChipSelect: () => {

         },
         onChipDelete: () => {
             var chipsData = M.Chips.getInstance($('.chips')).chipsData;
             var chipsDataJson = JSON.stringify(chipsData);
             $("#userEventData").val(chipsDataJson);
         }
  }

Поле ввода формы:

<input type="hidden" name="userEventData" id="userEventData" value="">

Когда я повторяю его, я получаю строка следующим образом: [{"tag":"name1"},{"tag":"name2"}]

Я ищу решение перенести его из строки в массив для последующей вставки в базу данных. Любые идеи?

* Я уже проверил другой вопрос и мог найти любое решение. ( Как хранить и извлекать материализованные css фишки? )

1 Ответ

0 голосов
/ 14 марта 2020

То, что вы получаете, это так называемые JSON закодированные данные. Вы можете декодировать его в PHP, используя функцию json_decode () , которая (в вашем случае) даст вам двумерный массив для работы с:

$json = '[{"tag":"name1"},{"tag":"name2"}]'
var_export(json_decode($json, true));

output:

array (
  0 => 
  array (
    'tag' => 'name1',
  ),
  1 => 
  array (
    'tag' => 'name2',
  ),
)

Обратите внимание, что я передал true в качестве второго параметра json_decode(), так как мне нравится работать с массивами, а не с объектами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...