gpt4 book ai didi

Angular 2+ 将 json 数组作为 json 对象

转载 作者:搜寻专家 更新时间:2023-10-30 21:19:01 24 4
gpt4 key购买 nike

我有这个 JSON 对象,它在数组内部显示为 Json 对象。所以我不能遍历它们。任何帮助,将不胜感激。下图显示了 vs 代码上显示的类型。我已将 placeTypes 初始化为 [],但它显示为 {}。

InitialModel = [
{nearByTypeName : "ex 1",id: 1,placeTypes:[
{placeTypeId:1,placeTypeName:"ex1.1",
places:[]}
]},
{nearByTypeName : "ex 2",id: 2,placeTypes:[
{id:2,placeTypeName:"ex 2.1",places:[]},
{id:3,placeTypeName:"ex2.1.1",places:[]}
]}
]

enter image description here

enter image description here

最佳答案

像这样尝试:

const initialModel = [
{
nearByTypeName: "ex 1", id: 1, placeTypes: [
{
placeTypeId: 1, placeTypeName: "ex1.1",
places: []
}
]
},
{
nearByTypeName: "ex 2", id: 2, placeTypes: [
{ id: 2, placeTypeName: "ex 2.1", places: [] },
{ id: 3, placeTypeName: "ex2.1.1", places: [] }
]
}
];


for (const i of initialModel) {
for (const j of i.placeTypes) {
// do stuff
}
}

编辑:您声明要使用 foreach 循环但由于以下错误而无法使用:

错误:无法调用类型缺少调用签名的表达式

该错误是由类型不匹配引起的。这是由属性名称的差异引起的。如果您将数组的第二个元素中的 id 重命名为 placeTypeId 它会起作用

 const initialModel = [
{
nearByTypeName: "ex 1", id: 1, placeTypes: [
{ placeTypeId: 1, placeTypeName: "ex1.1", places: [] }
]
},
{
nearByTypeName: "ex 2", id: 2, placeTypes: [
{ placeTypeId: 2, placeTypeName: "ex 2.1", places: [] },
{ placeTypeId: 3, placeTypeName: "ex2.1.1", places: [] }
]
}
];


initialModel.forEach(element => {
const temp = element.placeTypes;
temp.forEach(val => {
// do stuff
})
});

关于Angular 2+ 将 json 数组作为 json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53390664/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com