我有一个非常複雜的巢狀json檔案,我需要使用
recursion遍歷它
我需要的是
- 將最裏面的值分配给它的父键
- 删除最裏面的键和值
- 删除空物件
我尝試了很多方法,但是我是javascript世界的新手,無法提出正確的解決方案。 我拥有的json巢狀如下
{
"Changes_Only": {
"_text": "some value"
},
"Legal_Employee_Id": {},
"EmployeeData": {
"OBJECT_ACTION_ID": {
"_text": "some value"
},
"Employee": {
"PersonID": {
"_text": "some value"
},
"PersonID_OLD": {},
"PersonNumber": {
"_text": "some value"
},
"PersonNumber_OLD": {},
"StartDate": {
"_text": "some value"
},
"StartDate_OLD": {},
"PersonType": {
"_text": "some value"
},
"PersonType_OLD": {},
"DateofBirth": {
"_text": "some value"
},
"DateofBirth_OLD": {},
"HireDate": {
"_text": "some value"
},
"HireDate_OLD": {},
"WorkEmail": {
"_text": "some value"
},
"WorkEmail_OLD": {},
"FirstName": {
"_text": "some value"
},
"FirstName_OLD": {},
"LastName": {
"_text": "some value"
},
"LastName_OLD": {}
},
"NationalIDHT": {
"NtionalIDData": {
"NationalIDValues": {
"NationalType": {
"_text": "some value"
},
"NationalIDNumber": {
"_text": "some value"
}
}
}
},
"AssignmentHT": {
"AssignmentData": {
"Assignment": {
"PersonNumber": {
"_text": "some value"
},
"PersonNumber_OLD": {},
"WorkerNumber": {
"_text": "some value"
},
"WorkerNumber_OLD": {},
"Gender": {
"_text": "some value"
},
"Gender_OLD": {},
"ActionName": {
"_text": "some value"
},
"ActionName_OLD": {},
"HourlySalaried": {
"_text": "some value"
},
"HourlySalaried_OLD": {},
"SalaryBasis": {
"_text": "some value"
},
"SalaryBasis_OLD": {},
"ManagerPersonNumber": {
"_text": "some value"
},
"ManagerPersonNumber_OLD": {},
"ManagerDisplayName": {
"_text": "some value"
},
"ManagerDisplayName_OLD": {},
"AssignmentCategory": {
"_text": "some value"
},
"AssignmentCategory_OLD": {},
"AsgState": {
"_text": "some value"
},
"AsgState_OLD": {},
"JobCode": {
"_text": "some value"
},
"JobCode_OLD": {},
"Desgination": {
"_text": "some value"
},
"Desgination_OLD": {},
"Grade": {
"_text": "some value"
},
"Grade_OLD": {},
"Levele-Grade": {
"_text": "some value"
},
"Levele-Grade_OLD": {},
"Department": {
"_text": "some value"
},
"Department_OLD": {},
"EmployeeType": {
"_text": "some value"
},
"EmployeeType_OLD": {},
"BusinessUnit": {
"_text":"some value"
},
"BusinessUnit_OLD": {},
"BaseLocation": {
"_text":"some value"
},
"BaseLocation_OLD": {},
"PhysicalWorkAddress": {
"_text":"some value"
}
}
}
}
}
}
如下所示,我需要的json還可以帮助我删除空物件
{
"Changes_Only": "some value",
"EmployeeData": {
"OBJECT_ACTION_ID": "some value",
"Employee": {
"PersonID": "some value",
"PersonNumber": "some value",
"StartDate": "some value",
"PersonType": "some value",
"DateofBirth": "some value",
"HireDate": "some value",
"WorkEmail": "some value",
"FirstName": "some value",
"LastName": "some value"
},
"NationalIDHT": {
"NtionalIDData": {
"NationalIDValues": {
"NationalType": "some value",
"NationalIDNumber": "some value"
}
}
},
"AssignmentHT": {
"AssignmentData": {
"Assignment": {
"PersonNumber": "some value",
"WorkerNumber": "some value",
"Gender": "some value",
"ActionName": "some value",
"HourlySalaried": "some value",
"SalaryBasis": "some value",
"ManagerPersonNumber": "some value",
"ManagerDisplayName": "some value",
"AssignmentCategory": "some value",
"AsgState": "some value",
"JobCode": "some value",
"Desgination": "some value",
"Grade": "some value",
"Levele-Grade": "some value",
"Department": "some value",
"EmployeeType": "some value",
"BusinessUnit": "some value",
"BaseLocation": "some value",
"PhysicalWorkAddress": "some value"
}
}
}
}
}
最新回復
- 8月前1 #
- 8月前2 #
實際上,您不需要在這裏进行JSON解析-您可以删除正則表達式.仅用"某些值"替換{" _text":"某些值"}即可解決問题。
赞:
str.replace(/{\s*"_text":\s*("[^"]*")\s*}/, "$1")
会維護
"PersonNumber": { "_text": "some value" },
和
str.replace(/"[^"]*"\s*:\s*{},/,"")
將删除空屬性
相似問題
- javascript:JSONstringify函式javascriptjsonobject2021-01-11 19:28
- javascript:如何使用聚合物將HTML註入模板javascriptjsonpolymer2021-01-11 05:25
- javascript:為什麼我不能內聯呼叫resjson?javascriptnode.jsexpresspromise2021-01-10 22:57
尝試一下,我只是在纠正@Konstantin Pribluda
第二,替換為空的{}