当输入为单个值时,JSON.stringify() 结果

JSON.stringify() result when input is single value

本文关键字:stringify 结果 JSON 输入 单个值      更新时间:2023-09-26

JSON.stringify()方法将JavaScript值转换为JSON

console.log(JSON.stringify('a'));
//produce "a"
console.log(JSON.stringify(1));
//produce 1
console.log(JSON.stringify(true));
//produce true

但根据定义,这些不是 JSON

"a"
1
true

JSON 定义如下所示

JSON 基于两种结构构建:

名称/值对的集合。在各种语言中,这是 实现为对象、记录、结构、字典、哈希表、键控 列表或关联数组。

值的有序列表。在大多数语言中,这是作为数组、向量、列表或序列实现的。

我的问题是JSON.stringify()输入高于值时不生成 JSON 为什么会这样?

JSON.stringify(( 方法将 JavaScript 值转换为 JSON 字符串,如果替换器函数为 指定,或者可以选择仅包括指定的属性,如果 指定了替换器数组。

参考: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

">我的问题是 JSON.stringify(( 在输入高于值时不产生 JSON,为什么会这样?">

这些都是表示 JSON 值的有效 JSON 语法:

"a"
1
true
{}
[]

检查这个:

JSON.parse('"foo"'); // returns "foo"
JSON.parse(1); // returns 1
JSON.parse(true); // returns true
JSON.parse('{}'); // returns {}
JSON.parse('[]');  // returns []

为了进一步澄清,请检查以下答案:

这个简单的字符串是否被视为有效的 JSON?

最小有效 JSON 是多少?