--- title: Body.json() slug: Web/API/Body/json tags: - API - Experimental - Fetch - JSON - Referencia translation_of: Web/API/Body/json ---
O método json()
do mixin {{DOMxRef("Body")}} usa uma stream do objeto {{DOMxRef("Response")}} para tratar. O método json() retorna uma Promise como resultado do processamento da stream, retornando um objeto {{JSxRef("JSON")}} em caso de sucesso.
response.json().then(data => { // do something with your data });
Nenhum.
Uma {{jsxref("Promise")}} que retorna um objeto Javascript no método resolve(). Pode ser qualquer tipo que pode ser representado com JSON — objeto, array, string, numeral...
Em nosso exemplo de fetch em json (teste aqui a busca em json com fetch), nós criamos uma nova requisição usando o constructor de {{DOMxRef("Request.Request", "Request()")}}, e em seguimos a usamos para buscar um arquivo .json
. Quando o fetch é bem-sucedido, nós lemos e tratamos a stream com o método json()
, lê os valores em forma de objeto retornados como esperado e inserimos na lista para exibir os dados dos produtos.
const myList = document.querySelector('ul'); const myRequest = new Request('products.json'); fetch(myRequest) .then(response => response.json()) .then(data => { for (const product of data.products) { let listItem = document.createElement('li'); listItem.appendChild( document.createElement('strong') ).textContent = product.Name; listItem.append( ` can be found in ${ product.Location }. Cost: ` ); listItem.appendChild( document.createElement('strong') ).textContent = `£${product.Price}`; myList.appendChild(listItem); } }) .catch(console.error);
Specificações | Status | Comentários |
---|---|---|
{{SpecName("Fetch", "#dom-body-json", "Body.json()")}} | {{Spec2("Fetch")}} | Definição Inicial |
{{Compat("api.Body.json")}}