Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Response : méthode statique json()

Baseline 2023
Newly available

Depuis September 2023, cette fonctionnalité fonctionne sur les appareils et les versions de navigateur les plus récents. Elle peut ne pas fonctionner sur les appareils ou navigateurs plus anciens.

Note : Cette fonctionnalité est disponible via les Web Workers.

La méthode statique json() de l'interface Response retourne un objet Response qui contient les données JSON fournies comme corps, et un en-tête HTTP Content-Type défini à application/json. Le statut de la réponse, le message de statut et des en-têtes supplémentaires peuvent aussi être définis.

Cette méthode facilite la création d'objets Response pour retourner des données encodées en JSON. Par exemple, les Service Workers interceptent les requêtes fetch faites par un navigateur, et peuvent utiliser json() pour construire une Response à partir de données JSON en cache à retourner au thread principal. La méthode json() peut aussi être utilisée dans du code serveur pour retourner des données JSON pour des applications monopage, ou toute autre application où une réponse JSON est attendue.

Syntaxe

js
Response.json(data)
Response.json(data, options)

Paramètres

data

Les données JSON à utiliser comme corps de la réponse.

options Facultatif

Un objet d'options contenant les paramètres de la réponse, incluant le code de statut, le texte de statut et les en-têtes. Ceci est identique au paramètre options du constructeur Response().

status

Le code de statut de la réponse, par exemple 200.

statusText

Le message de statut associé au code de statut. Pour un statut de 200 cela pourrait être OK.

headers

Tous les en-têtes que vous souhaitez ajouter à votre réponse, contenus dans un objet Headers ou un objet littéral de paires clé/valeur de type String (voir la référence des en-têtes HTTP).

Valeur de retour

Un objet Response.

Exceptions

TypeError

Levée si data ne peut pas être converti en chaîne JSON. Cela peut arriver si les données sont un objet JavaScript qui possède une méthode, ou qui a une référence circulaire, ou si l'objet passé est undefined.

Exemples

Réponse avec des données JSON

Cet exemple interactif montre comment créer un objet réponse JSON, et journalise l'objet nouvellement créé pour inspection (le code de journalisation est masqué car il n'est pas pertinent).

Le code ci-dessous crée un objet Response avec le corps JSON { ma: "donnée" } et l'en-tête défini à application/json.

js
const reponseJson = Response.json({ ma: "donnée" });
journaliserLaReponse(reponseJson);

L'objet possède les propriétés suivantes. Notez que le corps et l'en-tête sont définis comme attendu, et que le statut par défaut est 200.

Réponse avec des données JSON et options

Cet exemple montre comment créer un objet réponse JSON avec les options status et statusText.

Le code ci-dessous crée un objet Response avec le corps JSON { une: "donnée", plus: "de l'information" } et l'en-tête défini à application/json. Il définit aussi le statut à 307 et le texte de statut approprié ("Temporary Redirect").

js
const reponseJson = Response.json(
  { une: "donnée", plus: "de l'information" },
  { status: 307, statusText: "Temporary Redirect" },
);
journaliserLaReponse(reponseJson);

L'objet possède les propriétés suivantes, qui sont définies comme attendu. Notez que la propriété ok de la réponse est passée à false car la valeur du statut n'est pas comprise entre 200 et 299.

Spécifications

Specification
Fetch
# ref-for-dom-response-json①

Compatibilité des navigateurs

Voir aussi