Я был смущен, когда использовать эти два метода синтаксического анализа.
После того, как я передаю свои json_encoded данные и получаю их обратно через ajax, я часто путаюсь, когда мне следует использовать JSON.stringify и JSON.parse .
Я получаю [object,object]
в моем console.log при разборе и JavaScript-объект при строковом преобразовании.
$.ajax({
url: "demo_test.txt",
success: function(data) {
console.log(JSON.stringify(data))
/* OR */
console.log(JSON.parse(data))
//this is what I am unsure about?
}
});
javascript
json
ХИРА ТАКУР
источник
источник
json.stringify(json.parse(data))
.Ответы:
JSON.stringify
превращает объект JavaScript в текст JSON и сохраняет этот текст JSON в строке, например:JSON.parse
превращает строку текста JSON в объект JavaScript, например:источник
JSON.parse()
для "разбора" чего-то, что было получено как JSON.JSON.stringify()
это создать строку JSON из объекта / массива.источник
JSON.stringify(3)
Они обратны друг другу.
JSON.stringify()
сериализует объект JS в строку JSON, тогда какJSON.parse()
десериализует строку JSON в объект JS.источник
Они противоположны друг другу.
JSON.stringify ()
JSON.stringify () сериализует объект или значение JS в строку JSON.
JSON.parse ()
Метод JSON.parse () анализирует строку как JSON, дополнительно преобразовывая полученное значение.
источник
parse()
будетobjectify()
илиjsonify()
.jsonify()
будет неоднозначным и вводит в заблуждение, так какparse()
это не преобразоватьString
кJSON
типу (чтоjsonify()
бы показывает), ноparse()
преобразует JSON-отформатированныеString
в любой из:Object
,Array
,Number
,String
,Boolean
илиnull
. Люди часто путают JSON со «строковым представлением» иObject
(илиdict
в Python и т. Д.).Во-первых,
JSON.stringify()
функция преобразует значение JavaScript в строку JavaScript Object Notation (JSON).JSON.parse()
Функция преобразует строку JavaScript Object Notation (JSON) в объект. Для получения дополнительной информации об этих двух функциях, пожалуйста, обратитесь к следующим ссылкам.https://msdn.microsoft.com/library/cc836459(v=vs.94).aspx https://msdn.microsoft.com/library/cc836466(v=vs.94).aspx
Во-вторых, следующий пример поможет вам понять эти две функции.
источник
// Вывод будет:
// Для 1-й консоли есть строка типа:
// Для 2-й консоли это объект типа:
источник
JSON.stringify()
Преобразует объект в строку.JSON.parse()
Преобразует строку JSON в объект.источник
Настоящая путаница здесь не в синтаксическом анализе против stringify, а в типе данных
data
параметра обратного вызова success.data
может быть или необработанным ответом, то есть строкой, или это может быть объект JavaScript, согласно документации:И dataType по умолчанию установлен на «интеллектуальное предположение»
источник
Они полная противоположность друг другу.
JSON.parse()
используется для анализа данных, полученных как JSON ; он десериализует в строку JSON в объект JavaScript .JSON.stringify()
с другой стороны, используется для создания строки JSON из объекта или массива ; он упорядочивает на объект JavaScript в строку JSON .источник
JavaScript Object <-> JSON String
JSON.stringify (obj) - принимает любой сериализуемый объект и возвращает представление JSON в виде строки.
JSON.parse (string) - принимает правильно сформированную строку JSON и возвращает соответствующий объект JavaScript.
Объяснение: JSON.stringify (obj [, replacer [, пробел]]);
Replacer / Space - необязательный или принимает целочисленное значение, или вы можете вызвать функцию возврата типа integer.
источник
Они противостоят друг другу.
JSON.Stringify()
преобразует JSON в строку иJSON.Parse()
анализирует строку в JSON.источник
Я не знаю, упоминалось ли это, но одно из применений JSON.parse (JSON.stringify (myObject)) заключается в создании клона исходного объекта.
Это удобно, когда вы хотите связываться с некоторыми данными, не затрагивая исходный объект. Вероятно, не самый чистый / самый быстрый способ, но, конечно, самый простой для объектов, которые не очень сложны.
источник
JSON.stringify(obj [, replacer [, space]])
- берет любой сериализуемый объект и возвращает представление JSON в виде строки.JSON.parse(string)
- принимает правильно сформированную строку JSON и возвращает соответствующий объект JavaScript.источник
JSON: Он в основном используется для обмена данными с сервером. Перед отправкой объекта JSON на сервер он должен быть строкой.
Он также преобразует массив Javascript в строку
Когда мы получили данные JSON с сервера, данные были бы в формате строки. Поэтому мы конвертируем строку в объект JSON.
источник
JSON.parse()
используется для преобразования String в Object.JSON.stringify()
используется для преобразования объекта в строкуВы можете сослаться на это тоже ...
источник
JSON.parse () принимает строку JSON и преобразует ее в объект JavaScript.
JSON.stringify () принимает объект JavaScript и преобразует его в строку JSON.
И хотя методы обычно используются на объектах, они также могут использоваться на массивах:источник