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

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

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

'{"name":"binchen"}'

当前回答

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

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

其他回答

我有问题与stringify运行内存不足和其他解决方案似乎不工作(至少我不能让他们工作),这是当我偶然发现这个线程。多亏了Rohit Kumar,我才迭代了我非常大的JSON对象,以防止它崩溃

var j = MyObject;
var myObjectStringify = "{\"MyObject\":[";
var last = j.length
var count = 0;
for (x in j) {
    MyObjectStringify += JSON.stringify(j[x]);
    count++;
    if (count < last)
        MyObjectStringify += ",";
}
MyObjectStringify += "]}";

MyObjectStringify会给你你的字符串表示(就像在这个线程中提到的其他时间),除非你有一个大对象,这也应该工作-只是确保你构建它来满足你的需要-我需要它有一个名称而不是数组

在angularJS

angular.toJson(obj, pretty);

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

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

(默认值:2)

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

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

Object.prototype.toSource()

//Usage:
obj.toSource();

沃金……使用方便

$("form").submit(function(evt){
  evt.preventDefault();
  var formData = $("form").serializeArray(); // Create array of object
  var jsonConvert = JSON.stringify(formData);  // Convert to json
});

谢谢

当前所有浏览器都内置了原生JSON支持。所以只要你不是在处理像IE6/7这样的史前浏览器,你就可以很容易地做到这一点:

Var j = { “名称”:“binchen” }; console.log (JSON.stringify (j));