JSON.isRawJSON()
Baseline
2025
Newly available
Since March 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
JSON.isRawJSON() ã¯éçã¡ã½ããã§ãããå¤ã JSON.rawJSON() ããè¿ããããªãã¸ã§ã¯ãã§ãããã©ãããæ¤æ»ãã¾ãã
æ§æ
JSON.isRawJSON(value)
弿°
value-
æ¤æ»ããå¤ã§ãã
è¿å¤
value ã JSON.rawJSON() ã§ä½æããããã®ã§ããã° true ã§ããããã§ãªããã° false ã§ãã
解説
ãçã® JSONããªãã¸ã§ã¯ãã¯ã JSON ã«ã·ãªã¢ã©ã¤ãºãããã¨ãããã§ã« JSON ã®ä¸é¨ã§ãããã®ããã«æ±ããã¾ããããã«ã JSON.rawJSON() ãåä½ããã®ã§ãçã® JSON ã¯æ§æçã«æå¹ãª JSON ã§ãããã¨ãä¿è¨¼ããã¾ããçã® JSON ãªãã¸ã§ã¯ãã®å½¢ç¶ã¨åä½ã®è©³ç´°æ
å ±ã«ã¤ãã¦ã¯ã JSON.rawJSON() ãåç
§ãã¦ãã ããããã®ã¡ã½ããã¯ãä»ã®ã·ãªã¢ã©ã¤ãºã©ã¤ãã©ãªã¼ãçã® JSON ãªãã¸ã§ã¯ãã«å¯¾ã㦠JSON.stringify() ã¨åæ§ã®åä½ãå®è£
ã§ããããã«ããããã«åå¨ãã¾ãã
ä¾
>JSON.isRawJSON() ã®ä½¿ç¨
次ã®ä¾ã¯ã JSON.isRawJSON() ã使ç¨ãã¦ããªãã¸ã§ã¯ãã JSON.rawJSON() ã«ãã£ã¦è¿ããããã©ãããæ¤æ»ããæ¹æ³ã示ãã¾ãããã¼ã¿ã 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
ãããã®ä¾ã§ userId ã®å¤ã JSON.rawJSON() ã§ä½æãããç´æ¥æ°å¤ã¨ãã¦æ¸¡ãã¦ããå ´åã JavaScript ã®æµ®åå°æ°ç¹æ°ã®å¶éã«ããã精度ãä½ä¸ãã¦ãã¾ãã¾ãã
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
仿§æ¸
| Specification |
|---|
| JSON.parse source text access> # sec-json.israwjson> |