| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/JSON/isRawJSON | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
Depuis mars 2025, cette fonctionnalit fonctionne sur les appareils et les versions de navigateur les plus rcents. Elle peut ne pas fonctionner sur les appareils ou navigateurs plus anciens.
La mthode statique JSON.isRawJSON() vrifie si une valeur est un objet retourn par JSON.rawJSON().
JSON.isRawJSON(value)
valueLa valeur tester.
true si value a t cr par la mthode JSON.rawJSON() ; sinon false.
Les objets raw JSON , lorsqu'ils sont srialiss en JSON, sont traits comme s'ils taient dj une portion de JSON. De plus, du fait du fonctionnement de JSON.rawJSON(), le JSON brut est garanti tre un JSON syntaxiquement valide. Pour plus d'informations sur la forme et le comportement des objets JSON brut, voir JSON.rawJSON(). Cette mthode existe pour permettre d'autres bibliothques de srialisation d'implmenter un comportement similaire JSON.stringify() pour les objets JSON brut.
isRawJSON()L'exemple suivant montre comment utiliser JSON.isRawJSON() pour tester si un objet a t retourn par JSON.rawJSON(). Il implmente un srialiseur personnalis qui produit un format semblable YAML.
function mySerializer(value, indent = "") {
if (typeof value !== "object" || value === null) {
return JSON.stringify(value);
}
if (JSON.isRawJSON(value)) {
return value.rawJSON;
}
const subIndent = `${indent} `;
if (Array.isArray(value)) {
return `- ${value.map((v) => mySerializer(v, subIndent)).join(`\n${indent}- `)}`;
}
return Object.entries(value)
.map(([key, value]) => {
const subValue = mySerializer(value, subIndent);
if (subValue.includes("\n")) {
return `${key}:\n${subIndent}${subValue}`;
}
return `${key}: ${subValue}`;
})
.join(`\n${indent}`);
}
console.log(
mySerializer({
name: "Josh",
userId: JSON.rawJSON("12345678901234567890"),
friends: [
{ name: "Alice", userId: JSON.rawJSON("9876543210987654321") },
{ name: "Bob", userId: JSON.rawJSON("56789012345678901234") },
],
}),
);
// name: "Josh"
// userId: 12345678901234567890
// friends:
// - name: "Alice"
// userId: 9876543210987654321
// - name: "Bob"
// userId: 56789012345678901234
Si, dans l'exemple cidessus, les valeurs userId n'avaient pas t cres par JSON.rawJSON() mais passes directement comme nombres, alors nous subirions une perte de prcision en raison des limites de prcision des nombres virgule flottante en JS.
console.log(
mySerializer({
name: "Josh",
userId: 12345678901234567890,
friends: [
{ name: "Alice", userId: 9876543210987654321 },
{ name: "Bob", userId: 56789012345678901234 },
],
}),
);
// name: "Josh"
// userId: 12345678901234567000
// friends:
// - name: "Alice"
// userId: 9876543210987655000
// - name: "Bob"
// userId: 56789012345678900000
| Spcification |
|---|
| JSON.parse source text access # sec-json.israwjson |
JSON.isRawJSON dans core-js (angl.)JSONJSON.stringify()JSON.rawJSON()Cette page a t modifie le 27 fvr. 2026 par les contributeurices du MDN.
JSONCertaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |