--- title: Body.json() slug: Web/API/Body/json tags: - Fetch-запрос - Справка - метод translation_of: Web/API/Body/json ---
Метод json()
, определён на миксине {{domxref("Body")}}, который включён в объектах Request
и Response
, принимает и читает тело {{domxref("Response")}} stream. Возвращает промис, который, когда ответ будет получен, вызовет колбэк с результатом парсинга тела ответа в {{jsxref("JSON")}} объект.
response.json().then(function(data) { // do something with your data });
Нет.
Промис, который, когда ответ будет получен, вызовет колбэк с результатом парсинга тела ответа в JSON объект. Этим может быть что угодно, что может быть представлено как JSON объект — объект, массив, строка, число...
В нашем fetch json примере (запустите fetch json live), мы создаём новый запрос, используя {{domxref("Request.Request")}} конструктор, в последствии мы используем его (запрос) для получения .json
файла. Когда fetch запрос будет выполнен, мы прочтём и спарсим данные, используя json()
, а далее вставим значения из полученного объекта в list элементы списка для отображения данных по нашему продукту.
var myList = document.querySelector('ul'); var myRequest = new Request('products.json'); fetch(myRequest) .then(function(response) { return response.json(); }) .then(function(data) { for (var i = 0; i < data.products.length; i++) { var listItem = document.createElement('li'); listItem.innerHTML = '<strong>' + data.products[i].Name + '</strong> can be found in ' + data.products[i].Location + '. Cost: <strong>£' + data.products[i].Price + '</strong>'; myList.appendChild(listItem); } });
Specification | Status | Comment |
---|---|---|
{{SpecName('Fetch','#dom-body-json','json()')}} | {{Spec2('Fetch')}} |
{{Compat("api.Body.json")}}