请帮助在根级别和选项数组内部删除嵌套的空元素,并了解选项数组中为什么有空元素.
Input:个
[
{
"autoNumber": false,
"byteLength": 18,
"controllerName": null,
"createable": true,
"defaultValue": null,
"label": "Case ID",
"name": "Id",
"nillable": false,
"picklistValues": []
},
{
"autoNumber": false,
"byteLength": 18,
"createable": false,
"label": "Asset ID",
"name": "AssetId",
"picklistValues": [],
"nillable": false,
"type": "reference"
},
{
"autoNumber": false,
"byteLength": 765,
"createable": true,
"label": "Case Type",
"length": 255,
"name": "Select list",
"nillable": true,
"picklistValues": [
{
"label": "Mechanical",
"validFor": null,
"value": "Mechanical"
},
{
"label": "Electrical",
"validFor": null,
"value": "Electrical"
}
],
"type": "picklist"
}
]
Jolt-Spec:个
[
{
"operation": "shift",
"spec": {
"*": {
"createable": {
"true": {
"@(2,name)": ["[#4].crm_field_identifier", "[#4].target_property"],
"@(2,nillable)": {
"true": {
"#false": "[#6].required"
},
"false": {
"#true": "[#6].required"
}
},
"@(2,picklistValues)": {
"*": {
"label": "[#6].options[#2].name",
"value": "[#6].options[#2].value"
}
},
"@(2,defaultValue)": "[&3].default_value"
}
}
}
}
}
]
Current O/P:个
[
{
"crm_field_identifier": "Id",
"target_property": "Id",
"required": "true",
"default_value": null
},
null,
{
"crm_field_identifier": "Select list",
"target_property": "Select list",
"required": "false",
"options": [
null,
null,
{
"name": "Mechanical",
"value": "Mechanical"
},
{
"name": "Electrical",
"value": "Electrical"
}
],
"default_value": null
}
]
Required O/P:个
[
{
"crm_field_identifier": "Id",
"target_property": "Id",
"required": "true",
"default_value": null
},
{
"crm_field_identifier": "Select list",
"required": "false",
"options": [
{
"name": "Mechanical",
"value": "Mechanical"
},
{
"name": "Electrical",
"value": "Electrical"
}
],
"default_value": null
}
]
已判断:
-
使用不起作用的递归SquashNulls修改规范
-
删除等级库
-
现有堆栈溢出问题