JSON.stringify 使用多个 javascript 对象时无法正确显示
JSON.stringify not display properly, while use multiple javascript object
我使用基于我的页面结果生成 javascript 多个对象,然后转换为 JSON 字符串。但是 JSON.stringify
显示不正确。不知道为什么会这样显示。我添加了我的编码示例
var sample_object = [];
var sub_array = [];
sub_array["type"] = 'I';
sample_object.push(sub_array);
console.log(sample_object);
console.log(JSON.stringify(sample_object));
结果:-
[Array[0]]
0: Array[0]
length: 0
type: "I"_
_proto__: Array[0]
length: 1__proto__:
Array[0]
JSON.stringify输出
[[]]
提前致谢!
这是因为数组中不能有命名参数。您需要将 sub_array
更改为一个对象。另请注意,您命名为 sample_object
的变量实际上是一个数组。这是一个具有适当命名变量的工作版本:
var sample_array = [];
var sub_object = {};
sub_object["type"] = 'I';
sample_array.push(sub_object);
console.log(sample_array);
console.log(JSON.stringify(sample_array)); // = '[{"type":"I"}]'
您甚至可以将前四行缩短为:
var sample_array = [{ type: 'I' }];
只有从0到a.length-1的数组索引被JSON.stringify使用,没问题。如果要创建其他属性,请使用对象...
例如
var x={type:"i",data:[]}
我使用基于我的页面结果生成 javascript 多个对象,然后转换为 JSON 字符串。但是 JSON.stringify
显示不正确。不知道为什么会这样显示。我添加了我的编码示例
var sample_object = [];
var sub_array = [];
sub_array["type"] = 'I';
sample_object.push(sub_array);
console.log(sample_object);
console.log(JSON.stringify(sample_object));
结果:-
[Array[0]]
0: Array[0]
length: 0
type: "I"_
_proto__: Array[0]
length: 1__proto__:
Array[0]
JSON.stringify输出
[[]]
提前致谢!
这是因为数组中不能有命名参数。您需要将 sub_array
更改为一个对象。另请注意,您命名为 sample_object
的变量实际上是一个数组。这是一个具有适当命名变量的工作版本:
var sample_array = [];
var sub_object = {};
sub_object["type"] = 'I';
sample_array.push(sub_object);
console.log(sample_array);
console.log(JSON.stringify(sample_array)); // = '[{"type":"I"}]'
您甚至可以将前四行缩短为:
var sample_array = [{ type: 'I' }];
只有从0到a.length-1的数组索引被JSON.stringify使用,没问题。如果要创建其他属性,请使用对象...
例如
var x={type:"i",data:[]}