Если у меня есть строковая переменная со следующим значением:
var myString = "{'nombre':'juan'}";
Как я могу преобразовать строку в объект JSON в JavaScript?
Если у меня есть строковая переменная со следующим значением:
var myString = "{'nombre':'juan'}";
Как я могу преобразовать строку в объект JSON в JavaScript?
Предполагая, что мы правильно поняли синтаксис JSON, ваша строка:
Это уже JSON! , вам не нужно никакого преобразования.
Нотация JSON — это способ сериализации объекта JavaScript в строку, так что у вас уже есть JSON.
Теперь, если вы хотите преобразовать его в объект JavaScript.
и вернуть его в JSON:
Наконец, как упоминает @ratlab, если ваш браузер не поддерживает объект,
JSON
вы можете использовать библиотеку, например json2.js или JSON 3 .Или используйте этот полифилл из MDN прямо в коде:
В JavaScript есть 2 метода преобразования строки с нотацией JSON в объект и
JSON.parse
наоборотJSON.stringify
:Вы должны иметь в виду, что
null
,true
,false
также являются допустимыми значениями JSON и что строки символов должны включать двойные кавычки в начале и конце строки, чтобы они считались таковыми, иначе они будут интерпретироваться как другие типы данных. Регулярные выражения и функции не являются таковыми, поскольку JSON является форматом обмена данными, а последние считаются «кодом».Вы можете найти полную спецификацию формата здесь, а также на самой странице json.org .
Эти функции поддерживаются в большинстве браузеров Chrome, Firefox 3.5+, Internet Explorer 8+, Opera 10.5+ и Safari 4.0+.
Если его нет, можно использовать библиотеку JSON2 , сделанную самим Дугласом Крокфордом , создателем этого формата, на основе существующих структур JavaScript.
Принимая во внимание ваш код инициализации:
Решение
Использование встроенных инструментов языка: JSON.parse()
Документация MDN говорит нам, что:
Использование слов «объект JSON» и «текст JSON» может быть плеоназмом, но на самом деле это настолько распространено, что, когда оно выражается таким образом, оно дает получателю сообщения весь контекст, отличный от просто использования JSON.
Это можно увидеть на странице: JSON в JavaScript .
Добавьте к ответу @dabbbb.
какие браузеры любят:
у них есть встроенная поддержка JSON, если вам нужно сделать это в старых браузерах, вам нужно будет включить JSON2