Как вы заставляете JS думать, что строка - это JSON?
У меня есть функция, которая работает, только если объект JSON передается ему. Если я передаю ей строку с тем же форматом, что и в JSON, она не работает. Поэтому я хочу заставить эту функцию думать, что переданная ей строка является JSON. Строка действительно в формате JSON.
Я также попробовал следующее. Я ввел строку через Ajax, с параметром handle as как JSON, а затем, когда передал результат в функцию, она работает.
Так что я вывел проблему не со строкой. Как мне преобразовать эту строку в JSON? Если я получаю ту же строку через запрос ajax, а затем передаю ее в функцию, то работает, а прямая передача не работает.
Строка выглядит следующим образом:
{
"data": [
{
"id": "id1",
"fields": [
{
"id": "name1",
"label": "joker",
"unit": "year"
},
{"id": "name2", "label": "Quantity"},
],
"rows": [ data here....
and closing braces..
javascript
ajax
json
Zer0
источник
источник
Ответы:
Где
string
ваша строка JSON.источник
Вы можете использовать
JSON.parse()
для этого.Посмотреть документы на MDN
Пример:
источник
У меня была такая же проблема с похожей строкой, как у вас
Проблема здесь заключается в структуре строки. Парсер json не распознал, что ему нужно создать 2 объекта в этом случае. Так что то, что я сделал, немного глупо, я просто перестроил свою строку и добавил
[]
с этим распознанный парсерНадеюсь, поможет,
Если у кого-то есть более элегантный подход, пожалуйста, поделитесь.
источник
myString
неправильно. Это не строка и неправильно отформатированный JSON. Ваша вторая строка станет избыточной. Вот что должно быть:var myString = '[{"id":1,"field1":"someField"},{"id":2,"field1":"someOtherField"}]'
я знаю, что это довольно старый пост, но я подумал, что бы добавить ясности на случай, если кто-нибудь найдет его.$.parseJSON
гдеJSON.parse
не работал иJSON.parse is not a function
ссылка на сайт:-
http://api.jquery.com/jQuery.parseJSON/
источник
преобразовать строку в HashMap, используя Object Mapper ...
new ObjectMapper().readValue(string, Map.class);
Внутренне карта будет вести себя как объект JSON
источник
Передайте строковую переменную в Json parse:
источник
Data
это уже объект, поэтому не нужно будет его анализировать. Вам понадобятся некоторые кавычки, окружающие все ваши данные, чтобы сделать их строкой.Просто используйте
eval
функцию.источник
JSON.parse()
Функция будет делать.или
Используя Jquery,
источник
Давайте рассмотрим, у вас есть строка как
Например: "имя: Люси, возраст: 21, пол: женщина"
`
источник