English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
JSON используется для обмена данными с веб-сервером. При получении данных от веб-сервера данные всегда являются строками.
Метод JSON.parse() парсит строку JSON, чтобы создать значения JavaScript или объект, описанный этой строкой.
Синтаксис:
JSON.parse(text, reviver)
Первый параметр определяет строку, которую нужно преобразовать в JSON.
Второй обязательный параметр определяет функцию, которая проверяет каждый атрибут перед возвратом значения.
Предположим, что мы получили следующий текст от веб-сервера:
'{"name":"Seagull", "age":22, "city":"New Delhi"}'
Используя метод JSON.parse(), мы можем преобразовать текст JSON в объект JavaScript:
var myObj = JSON.parse('{"name":"Seagull", "age":22, "city":"New Delhi"}');проверьте тест < / >
Вы можете использовать запрос AJAX для запроса JSON с сервера.
Если ответ сервера написан в формате JSON, то можно преобразовать строку в объект JavaScript.
Следующий пример запроса файлаdemo.jsonи анализируйте ответ:
var httpRequest = new XMLHttpRequest(); httpRequest.onreadystatechange = function() { if (this.readyState === 4 && this.status === 200) { var myObj = JSON.parse(this.responseText); document.getElementById("output").innerHTML = myObj.name; } }; httpRequest.open("GET", "demo.json", true); httpRequest.send();проверьте тест < / >
JSON.parse() используется на JSON, происходящем из массива, метод который возвращает JavaScript-массив, а не JavaScript-объект.
Следующий пример запроса файлаjson_array.txtи анализируйте ответ:
var httpRequest = new XMLHttpRequest(); httpRequest.onreadystatechange = function() { if (this.readyState === 4 && this.status === 200) { var myArr = JSON.parse(this.responseText); document.getElementById("output").innerHTML = myArr[0]; } }; httpRequest.open("GET", "json_array.txt", true); httpRequest.send();проверьте тест < / >
В JSON не разрешается использовать объекты даты.
Если нужно включить дату, напишите ее как строку, а затем позже преобразуйте ее обратно в объект даты.
var myJSON = '{"name":"Seagull", "birth":"1997-11-10", "city":"New Delhi"}'; var myObj = JSON.parse(myJSON); myObj.birth = new Date(myObj.birth); document.getElementById("output").innerHTML = myObj.name + " DOB is " + myObj.birth;проверьте тест < / >
Внимание: Преобразование строки в локальный объект называетсяАнализи преобразует локальный объект в передаваемый по сетистроканазываетсяСтруктурирование.