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,为什么会这样?
答案 0 :(得分:4)
JSON.stringify()方法将JavaScript值转换为JSON string,如果是replacer函数,则可以选择替换值 如果是,则指定或者可选地仅包括指定的属性 指定了replacer数组。
参考: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 []
如需更多说明,请查看以下答案: