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

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

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

'{"name":"binchen"}'

当前回答

只使用JSON。Stringify来做这样的转换-但是记住,具有未定义值的字段将不会包含在json中

var j={“name”:“binchen”, “remember”:undefined, “age”: null }; var s=JSON.stringify(j); 控制台.log(s);

记住输出json中的“消失”字段

其他回答

使用本机函数JSON.stringify()

let userJson = {
name : 'Richard'
}
let userJsonString = JSON.stringify(userJson)

使用JSON。stringify(param1, param2, param3);

什么是:-

param1——>值转换为JSON

Param2—>函数以自己的方式进行字符串化。或者,它可以作为一个白列表,其中的对象需要包含在最终的JSON中。

param3——>数字数据类型,表示要添加的空白空间的数量。最多允许添加10个空白空间。

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

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

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

JSON stringify重访

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

这是自定义的,直到我们使用stringify方法

var j={"name":"binchen","class":"awesome"};
var dq='"';
var json="{";
var last=Object.keys(j).length;
var count=0;
for(x in j)
{
json += dq+x+dq+":"+dq+j[x]+dq;
count++;
if(count<last)
   json +=",";
}
json+="}";
document.write(json);

输出

{"name":"binchen","class":"awesome"}

住http://jsfiddle.net/mailmerohit5/y78zum6v/