我有以下代码;

var rawData = [];
rawData['uid'] = 105;
rawData['auth_customer'] = true;
console.log(rawData);
var postData = JSON.stringify(rawData);
console.log(postData);


第一个console.log正在输出;
[uid: 105, auth_customer: true]

但是最后一个console.log只是返回一个[]。
我需要将数组变成一个json对象。我想念什么吗?

谢谢!

最佳答案

您应该将rawData定义为Object,而不是数组。这样您就可以将其他属性作为键:值对添加或删除。作为对象,您应该使用JSON.parse进行解析,如下所示。

    var rawData = {};
    rawData['uid'] = 105;
    rawData['auth_customer'] = true;

    console.log(rawData); // Object

    var postData = JSON.stringify(rawData);
    console.log(postData); // String - "{'uid':105,'auth_customer':true}"

    console.log(JSON.parse(postData)); // Object

关于javascript - JSON.stringify似乎无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57098867/

10-09 14:58