Gre*_*les 2 javascript arrays json object stringify
我们正在根据一种简单的模板格式构建动态JSON有效负载,该格式指示我们的有效负载应生成多少个级别,例如“ level1.level2”>将生成:
{
"level1": [
{
"level2": [
{
"someData": "willGoHere",
},
{
"someOtherData": "willAlsoGoHere"
}
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
显然,我们正在使用不同的命名结构,例如:“ client.ipcEvent.level3”,在某些情况下,我们正在测试4个级别。我们正在做错事情〜我们能够构建我们的javascript对象,但是无法使用stringify()创建完整结果,因为由于某些奇怪的原因,针对我们对象的stringify()仅返回第一级数据:
{ "level1": [] }
Run Code Online (Sandbox Code Playgroud)
。
我试过改变对象加载值的方式,但是所有这些都回到stringify()'删除'没有相同级别的伴随属性/属性值的数组值。
问题是您client是一个数组,但是您在其上放置了不是数组条目的属性(您可以这样做是因为数组是对象):
JSON.stringify 仅包括数组的数组条目,不包括其他属性:
const a = [];
a.nonEntryProperty = "foo";
a[0] = "bar";
console.log(JSON.stringify(a)); // ["bar"]Run Code Online (Sandbox Code Playgroud)
为确保将数据正确序列化为JSON,请在对象中包含类似对象的属性,并在数组中包括数组条目:
const structure = {
info: {
nonEntryProperty: "foo"
},
array: ["bar"]
};
console.log(JSON.stringify(structure, null, 4));Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |