Javascript 将对象转换为字符串

Javascript 将对象转换为字符串,javascript,arrays,Javascript,Arrays,我对把一个物体串起来有一个疑问 输入如下: var obj = [{'name' : 'Jenisha', 'lastName' : 'dalin'}]; obj.__used = true; 我的预期产出: JSON.stringify(obj, undefined, 4); "[ { "name": "Jenisha", "lastName": "dalin" } ], "__used" : true " 但结果是: JSON.string

我对把一个物体串起来有一个疑问

输入如下:

var obj = [{'name' : 'Jenisha', 'lastName' : 'dalin'}];
obj.__used = true;
我的预期产出:

JSON.stringify(obj, undefined, 4);
"[
    {
        "name": "Jenisha",
        "lastName": "dalin"
    }
],
"__used" : true
"
但结果是:

JSON.stringify(obj, undefined, 4);
"[
    {
        "name": "Jenisha",
        "lastName": "dalin"
    }
]"
已删除“使用”参数。任何替代函数都可用于字符串化对象


提前感谢

因为您本质上是在对数组进行字符串化,所以JSON数组表示中的字符串键毫无意义。这也在MDN的文档中有所说明

由于数组是这样字符串化的:
[“value1”、“value2”]
,并且键实际上只是数字(0、1、2)并且被忽略,因此添加的字符串键将被忽略,因为它无法在输出中表示

您可以将这两个属性添加到对象中,并将其序列化:

JSON.stringify ({
    arr: [{'name' : 'Jenisha', 'lastName' : 'dalin'}],
    used: true
});

由于本质上是字符串化数组,因此JSON数组表示中的字符串键毫无意义。这也在MDN的文档中有所说明

由于数组是这样字符串化的:
[“value1”、“value2”]
,并且键实际上只是数字(0、1、2)并且被忽略,因此添加的字符串键将被忽略,因为它无法在输出中表示

您可以将这两个属性添加到对象中,并将其序列化:

JSON.stringify ({
    arr: [{'name' : 'Jenisha', 'lastName' : 'dalin'}],
    used: true
});

JSON.stringify
使用有效的JSON格式。但似乎您的Obj具有无效的JSON格式


要验证JSON,请转到:

JSON.stringify
使用有效的JSON格式。但似乎您的Obj具有无效的JSON格式


要验证JSON goto:

请不要在代码中使用[]

var obj = {'name' : 'Jenisha', 'lastName' : 'dalin'};
obj.__used = true;

现在,如果您将obj字符串化,您也将获得_used属性

不要在代码中使用[]

var obj = {'name' : 'Jenisha', 'lastName' : 'dalin'};
obj.__used = true;

现在,如果您将obj字符串化,您也将获得_used属性

Json是由库从我这边准备的,我只是将其字符串化,而在字符串化Json时,我的对象被删除。我们能解决这个问题吗

var obj = {'name' : 'Jenisha', 'lastName' : 'dalin'};
obj.__used = true;

这就是我的json准备的方式

json是由库从我这边准备的,我只是将其字符串化,而在字符串化json时,我的对象被删除。我们能解决这个问题吗

var obj = {'name' : 'Jenisha', 'lastName' : 'dalin'};
obj.__used = true;
这就是我如何准备json的方法。

在您的示例中:“字符串键控数组元素不可枚举且在json中没有意义”
obj
不是一个普通对象,而是一个数组。在您的示例中,From:“字符串键控数组元素不可枚举且在json中没有意义”
obj
不是一个普通对象,这是一个数组。