Как преобразовать JSON из PHP/Laravel и преобразовать его в JSON Javascript. У меня уже есть строка JSON из PHP, единственная проблема в том, что она отображается только как строка. Я хочу, чтобы это был json в javascript. Пожалуйста, посмотрите мой код ниже.
$('#email').selectize({
plugins: ['remove_button'],
valueField: 'email',
labelField: 'name',
searchField: ['email', 'name'],
options: [JSON.parse(JSON.stringify('{!! $users !!}'))]
});
Пример вывода $users:
{"name":"John Doe","email":"[email protected]"},{"name":"Frank Franky","email":"[email protected]"}
Я хочу, чтобы в JS все было так (для свойства options выше):
[{"name":"John Doe","email":"[email protected]"},{"name":"Frank Franky","email":"[email protected]"}]
Дополнительная ссылка:
Этот является JSON. Обертывание [] означает, что теперь это массив JSON ...
Пример вывода $users не будет правильно stringify, потому что он недействителен, это список объектов, разделенных запятыми, тогда как кажется, что это должен быть массив. Только первый объект будет преобразован в строку, возвращая: {"name":"John Doe","email":"[email protected]"} и игнорируя остальные.
Вы можете показать мне, как у вас $ пользователей? Потому что, чтобы получить JSON в {!! $users !!}, вам нужен {!! json_encode($users) !!}
@ dacastro4 laravel уже выполняет это преобразование за вас, когда вы конвертируете коллекцию в строку.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Если $ users - это коллекция Laravel, нет смысла пытаться распечатать ее и вызвать для нее JSON.stringify. Это объект PHP, вам нужно выполнить преобразование строки на уровне PHP.
Однако Laravel автоматически преобразует коллекции в строку JSON, когда вы ее распечатываете. Просто используйте JSON.parse.
options: [JSON.parse('{!! $users !!}')]
Для коллекций Laravel:
(string) $users === $users->toJson() === json_encode($users)
Ты прав! Просто использовал json_encode, так как я настраиваю данные с помощью массива. Тогда используйте options: [JSON.parse('{!! $users !!}')].
Имейте в виду, что JSON.parse не преобразует его в JSON, он преобразует его в объект или массив javascript.
О, теперь я знаю. Спасибо за совет. Я думал, это JSON.
JSON - это JSON, разницы между javascript и php нет.