【发布时间】:2022-11-17 11:05:17
【问题描述】:
我正在尝试转换从 CSV 文件构建的 JSON
[
{
"id_familia": 15,
"relacao": 1,
"occupation": "RESPONSAVEL",
"parent_id": null,
"id": 1547,
"name": "name resp 1",
"surname": "surname resp 1",
},
{
"id_familia": 15,
"relacao": 2,
"occupation": "DEPENDENTE",
"parent_id": 15,
"id": 1548,
"name": "name dep 1",
"surname": "surname dep 1",
},
{
"id_familia": 15,
"relacao": 2,
"occupation": "DEPENDENTE",
"parent_id": 15,
"id": 1549,
"name": "name dep 2",
"surname": "surname dep 2",
},
{
"id_familia": 20,
"relacao": 1,
"occupation": "RESPONSAVEL",
"parent_id": null,
"id": 1178,
"name": "name resp 2",
"surname": "PAPARELLA",
},
{
"id_familia": 20,
"relacao": 1,
"occupation": "CONJUGE",
"parent_id": 20,
"id": 2010,
"name": "name dep 1",
"surname": "surname dep 1",
},
{
"id_familia": 20,
"relacao": 2,
"occupation": "DEPENDENTE",
"parent_id": 20,
"id": 1188,
"name": "name dep 2",
"surname": "surname dep 2",
}
]
我需要创建一个需要提供以下结果的嵌套 JSON:
[
{
"responsible": {
"id": "1547",
"id_familia": 15,
"name": "name resp 1",
"surname": "surname resp 1",
},
"dependents": [
{
"member": {
"id": "1548",
"id_familia": 15,
"name": "name dep 1",
"surname": "surname dep 1",
"activities": [],
"programs": []
}
},
{
"member": {
"id": "1549",
"id_familia": 15,
"name": "name dep 2",
"surname": "surname dep 2",
"activities": [],
"programs": []
}
}
]
},
{
"responsible": {
"id": "1178",
"id_familia": 20,
"name": "name resp 1",
"surname": "surname resp 1",
},
"dependents": [
{
"member": {
"id": "2010",
"id_familia": 20,
"name": "name dep 1",
"surname": "surname dep 1",
"activities": [],
"programs": []
}
},
{
"member": {
"id": "1188",
"id_familia": 20,
"name": "name dep 2",
"surname": "surname dep 2",
"activities": [],
"programs": []
}
}
]
}
]
我的代码如下。
const data = [
{
"id_familia": 15,
"relacao": 1,
"occupation": "RESPONSAVEL",
"parent_id": null,
"id": 1547,
"name": "name resp 1",
"surname": "surname resp 1",
},
{
"id_familia": 15,
"relacao": 2,
"occupation": "DEPENDENTE",
"parent_id": 15,
"id": 1548,
"name": "name dep 1",
"surname": "surname dep 1",
},
{
"id_familia": 15,
"relacao": 2,
"occupation": "DEPENDENTE",
"parent_id": 15,
"id": 1548,
"name": "name dep 2",
"surname": "surname dep 2",
},
{
"id_familia": 20,
"relacao": 1,
"occupation": "RESPONSAVEL",
"parent_id": null,
"id": 1178,
"name": "name resp 2",
"surname": "PAPARELLA",
},
{
"id_familia": 20,
"relacao": 1,
"occupation": "CONJUGE",
"parent_id": 20,
"id": 2010,
"name": "name dep 1",
"surname": "surname dep 1",
},
{
"id_familia": 20,
"relacao": 2,
"occupation": "DEPENDENTE",
"parent_id": 20,
"id": 1188,
"name": "name dep 2",
"surname": "surname dep 2",
}
]
var data1 = [
{
resp:{},
dependents:[
{
member:[],
programs:[],
activities:[],
}
],
},
]
var respCont = -1
var depCont = 0
for (let index = 0; index < data.length; index++) {
const element = data[index];
if(data[index].occupation == "RESPONSAVEL") {
respCont++ //adds one to resp index
memberCont = 0
data1[respCont].resp.id = {
id: element.id,
id_familia: element.id_familia,
name: element.name,
surname: element.surname,
}
} else {
data1[respCont].dependents[0].member[memberCont].push(
{
id: element.id,
id_familia: element.id_familia,
name: element.name,
surname: element.surname,
}
)
memberCont++ //adds one to member index
}
}
我得到的错误是类型错误:无法读取未定义的属性“resp”我不知道是什么导致了错误,似乎该属性未定义,但我找不到解决方案。如果有人可以看看并帮助我解决这个问题,我将不胜感激。
非常感谢!
吉内斯
【问题讨论】:
标签: javascript arrays object properties undefined