【发布时间】:2021-02-26 11:36:50
【问题描述】:
如果字段为空或不存在,我需要删除它。 Json 看起来像:
{
"response": {
"somefield1": 0,
"somefield2": 0,
"somefield3": 0.0,
"somefield4": [{
"somefield5": "abc",
"somefield6": "123",
"TheField": ["\u0000\"{\"id\":\"123,SomeFields\":{\"SomeField\":{some data}}}\"\u0000"]
}]
}
}
JQ
{
SomeField: "%s",
SomeField1: "%s",
SomeField2: "a",
SomeField3: "b",
SomeField4: {
a: "%s",
b: "%s"
},
SomeField5: "%s",
SomeField6: .response?.somefield4[]?.TheField[]?,
} | del(.SomeField6? | nulls)
因此,如果“TheField”不存在或为空,我需要删除 SomeField6。现在,而不是删除当前字段 JQ 删除所有语句,我没有得到任何回应。
【问题讨论】:
-
如果字段不存在,删除是什么意思?你能发布一个清晰的输入 JSON 和预期的输出吗
-
我的意思是如果“TheField”不存在或为空,那么我需要删除或不添加 SomeField6 来响应。我在上面添加的请求和响应。