--- title: Body.json() slug: orphaned/Web/API/Body/json tags: - API - BODY - Experimental - Fetch - JSON - Méthode - Reference translation_of: Web/API/Body/json original_slug: Web/API/Body/json ---
{{APIRef("Fetch")}}

La méthode json() de {{domxref("Body")}} lit un Stream {{domxref("Response")}} jusqu'au bout. Elle retourne une promesse qui s'auto-résout en renvoyant le corps de la requête parsée au format {{jsxref("JSON")}}.

Syntaxe

response.json().then(function(data) {
  // faire quelque chose avec les données
});

Paramètres

Aucun.

Valeur de retour

Une promesse résolue contenant le corps de la requête (au format JSON) converti sous la forme d'un objet JavaScript. Cet objet peut correspondre à n'importe quel contenu représentable dans le format JSON -- un objet, un tableau, une chaîne de caractère, un nombre…

Exemple

Dans l'exemple fetch json (lancer cet exemple), nous créons une nouvelle requête en utilisant le constructeur {{domxref("Request.Request", "Request()")}}, puis utilisons celle-ci pour récupérer un fichier .json. Lorsque l'appel à fetch réussit, on lit les données et on les parse en utilisant json() pour les convertir en un objet JS, puis enfin on utilise les valeurs de l'objet obtenu pour les insérer dans une liste de noeuds, de manière à afficher nos produits. 

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);
    }
  });

Spécifications

Spécification Status Comment
{{SpecName('Fetch','#dom-body-json','Body.json()')}} {{Spec2('Fetch')}} Définition initiale

Compatibilité des navigateurs

{{Compat("api.Body.json")}}

Voir aussi