如果我在JS中定义了一个对象:

var j={"name":"binchen"};

如何将对象转换为JSON?输出字符串应该是:

'{"name":"binchen"}'

当前回答

看看Thomas Frank更新的/更好的方法:

JSON stringify重访

2008年5月17日更新:小型消毒剂 添加到toobject -方法中。现在 toObject()不会eval()该字符串 如果它发现任何恶意代码 它。为了更安全:不要设置 将includeFunctions标志设为true。 JSON概念之父Douglas Crockford为JavaScript编写了最早的stringfier之一。后来Steve Yen在Trim Path写了一个很好的改进版本,我用了一段时间。我想和大家分享的是我对史蒂夫版本的修改。基本上他们源于我的愿望,使stringifier: 处理和恢复循环引用 包含函数/方法的JavaScript代码(作为一个选项) 排除object中的对象成员。原型(如果需要的话)。

其他回答

非常容易使用的方法,但不要在发布版中使用它(因为可能存在兼容性问题)。

非常适合在您这边进行测试。

Object.prototype.toSource()

//Usage:
obj.toSource();

你可以像这样使用本地stringify函数

Const j={"name": "binchen"} 将json转换为字符串*/ const jsonString = JSON.stringify(j) console.log(jsonString) // {"name":"binchen"}

JSON。stringify将Javascript对象转换为JSON文本,并将该JSON文本存储在字符串中。

该转换是对象到字符串的转换

JSON。parse将JSON文本字符串转换为Javascript对象。

该转换是一个字符串到对象的转换

var j={"name":"binchen"};

使它成为一个JSON字符串下面可以使用。

JSON.stringify({"key":"value"});

JSON.stringify({"name":"binchen"});

要了解更多信息,您可以参考下面的链接。

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

JSON。stringify(j, null, 4)会给你美化的JSON,以防你也需要美化

第二个参数是replacer。它可以用作过滤器,你可以过滤掉特定的键值时,字符串化。如果设置为空,它将返回所有键值对

使用在json2.js中找到的JSON.stringify()或大多数现代浏览器中的本机。

JSON。Stringify (value, replace, space) value任何JavaScript值,通常是一个对象或数组。 替换一个可选参数,该参数决定对象的方式 对象的值是字符串化的。它可以是 函数或字符串数组。 空格指定缩进的可选参数 嵌套结构。如果省略它,文本将 打包时没有额外的空格。如果是数字, 它将指定每次缩进的空格数 的水平。如果它是一个字符串(如“\t”或“ ”), 它包含用于在每一层缩进的字符。