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

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

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

'{"name":"binchen"}'

当前回答

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

什么是:-

param1——>值转换为JSON

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

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

其他回答

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

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

So in order to convert a js object to JSON String: 

将对象转换为字符串的简单语法是

JSON.stringify(value)

完整的语法是: JSON。Stringify (value[, replace [, space]])

让我们看一些简单的例子。注意,整个字符串得到 双引号,字符串中的所有数据都会转义 需要的。

JSON.stringify("foo bar"); // ""foo bar""
JSON.stringify(["foo", "bar"]); // "["foo","bar"]"
JSON.stringify({}); // '{}'
JSON.stringify({'foo':true, 'baz':false}); /* " 
{"foo":true,"baz":false}" */



const obj = { "property1":"value1", "property2":"value2"};
const JSON_response = JSON.stringify(obj);
console.log(JSON_response);/*"{ "property1":"value1", 
"property2":"value2"}"*/

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

JSON stringify重访

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

在angularJS

angular.toJson(obj, pretty);

obj: 要序列化为JSON的输入。

(可选): 如果设置为true, JSON输出将包含换行符和空格。如果设置为整数,则JSON输出每个缩进将包含相同数量的空格。

(默认值:2)

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

什么是:-

param1——>值转换为JSON

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

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