json - 如何在 JSON 中添加对象数组
问题描述
我的问题完全与 JSON 的结构有关。我有这个:
{
"cars": {
"rows": [
{
"name": "Mercedes",
"color": "Black",
"make": "Mercedes"
},
{
"name": "BMW",
"color": "Black",
"make": "BMW Germany"
},
{
"name": "Innova",
"color": "Red",
"make": "Toyota"
}
]
}
}
到目前为止,row
是一个包含不同汽车信息的对象数组。我想要两个这样的行数组。只需要两个。像这样:
{
"staticKpi": {
"rows": [
{
// 1st row 1st object
},
{
// 1st row 2nd object
},
{
// 1st row 3rd object
}
],
[
{
// 2nd row 1st object
},
{
// 2nd row 2nd object
},
{
// 2nd row 3rd object
}
]
}
}
你可以在这里看到这个 JSON 。但这给了我 JSON 错误。我只想保留两行对象,因此rows
. 希望我能够解释这个问题。请纠正我的错误。
PS:我稍后在这个 JSON 上运行了 forEach 循环。所以我也得照顾它。
解决方案
试试这样:
{
"staticKpi":{
"rows":[
[
{
"name":"Mercedes",
"color":"Black",
"make":"Mercedes"
},
{
"name":"BMW",
"color":"Black",
"make":"BMW Germany"
},
{
"name":"Innova",
"color":"Red",
"make":"Toyota"
}
],
[
{
"name":"Mercedes",
"color":"Black",
"make":"Mercedes"
},
{
"name":"BMW",
"color":"Black",
"make":"BMW Germany"
},
{
"name":"Innova",
"color":"Red",
"make":"Toyota"
}
]
]
}
}
rows
必须是一个对象/数组,不能是两个。要拥有多个元素,您需要将这两个元素放在一个数组中。
编辑:要在 JavaScript 中循环使用这些forEach
,您可以这样做:
data = {"staticKpi":{"rows":[[{"name":"Mercedes","color":"Black","make":"Mercedes"},{"name":"BMW","color":"Black","make":"BMW Germany"},{"name":"Innova","color":"Red","make":"Toyota"}],[{"name":"Mercedes","color":"Black","make":"Mercedes"},{"name":"BMW","color":"Black","make":"BMW Germany"},{"name":"Innova","color":"Red","make":"Toyota"}]]}};
data.staticKpi.rows.forEach((row) => console.log(row));
推荐阅读
- emacs - 如何将以下 LaTeX 代码置于 org 模式?
- python - 如何在python等高线图中获取特定(x,y)的值
- c# - 为什么访问令牌中没有授权内容?
- r - 当一半数据为零时如何处理异常值?
- nginx-config - 带有 nginx 入口控制器 (nginxinc) 的 http 基本身份验证示例
- wordpress - 卡在 WordPress 网站上集成支付和重定向
- python - 如何将 pdf 页面从 gTTS 保存为 mp3
- heroku - 快速 CDN Heroku url 重定向
- http - 我不确定如何创建和传递上下文
- php - Laravel 从关系表中计算男性或女性的数量