我在使用 jolt 从数组中删除空值时遇到一些问题,如下所述:
输入
{
"userId": "1",
"age": "20",
"firstName": "firstname1",
"lastname": "lastname1",
"zipCode": "zipcode1",
"street": "street1",
"city": "city1",
"country": "country",
"gender": "gender1",
"grade": "grade1",
"birthday": "birthday1"
}
震动规格
[
{
"operation": "shift",
"spec": {
"userId": "ID",
"age": "age",
"firstName": "firstName",
"lastname": "lastname",
"gender": "gender",
"grade": "grade",
"birthday": "birthday",
"street|city|zipCode|country": {
"$": "address[#2].code",
"@": "address[#2].value"
}
}
}
]
输出
{
"ID": "1",
"age": "20",
"firstName": "firstname1",
"lastname": "lastname1",
"gender": "gender1",
"grade": "grade1",
"birthday": "birthday1",
"address": [ null, null, null, null, null, null, null,
{
"code": "street",
"value": "street1"
},
{
"code": "city",
"value": "city1"
},
{
"code": "zipCode",
"value": "zipcode1"
},
{
"code": "country",
"value": "country"
}
]
}
我得到了 @Barbaros 建议的一些解决方案,感谢他,如链接中所述 使用 Jolt 从 JSON 输出中删除空值
但仍在挣扎,任何帮助将不胜感激。
您可以在第一步中为键值对添加文字前缀,例如
adr_
,然后在最后一步中使用来区分其余属性,这些属性将由 "*":"&"
对表示,例如
[
{
"operation": "shift",
"spec": {
"userId": "ID",
"*": "&",
"street|city|zipCode|country": {
"$": "adr_&.code",
"@": "adr_&.value"
}
}
},
{
"operation": "shift",
"spec": {
"*": "&",
"adr_*": "address[]"
}
}
]
其中仅
"userId": "ID"
单独书写,以便根据需要重命名。
输入 { “手术室列表”:[ 无效的, { “部门代码”:“111”, “部门名称”:“AAA” } ] }
预计收到
{ “手术室列表”:[
{
"deptCode": "111",
"deptName": "AAA"
}
] }