English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Парсинг JSON.parse()

JSON используется для обмена данными с веб-сервером. При получении данных от веб-сервера данные всегда являются строками.

Метод JSON.parse() парсит строку JSON, чтобы создать значения JavaScript или объект, описанный этой строкой.

Синтаксис:

JSON.parse(text, reviver)

Первый параметр определяет строку, которую нужно преобразовать в JSON.

Второй обязательный параметр определяет функцию, которая проверяет каждый атрибут перед возвратом значения.

Парсинг JSON

Предположим, что мы получили следующий текст от веб-сервера:

 '{"name":"Seagull", "age":22, "city":"New Delhi"}'

Используя метод JSON.parse(), мы можем преобразовать текст JSON в объект JavaScript:

var myObj = JSON.parse('{"name":"Seagull", "age":22, "city":"New Delhi"}');
проверьте тест < / >

JSON от сервера

Вы можете использовать запрос 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

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;
проверьте тест < / >

Внимание: Преобразование строки в локальный объект называетсяАнализи преобразует локальный объект в передаваемый по сетистроканазываетсяСтруктурирование.