【发布时间】:2021-07-16 16:05:17
【问题描述】:
如何在大 JSON 文件中删除多个对象并保留几个对象?在这里,我有以下 JSON 文件:
{
"service" : {
"category" : "managed-object",
"resource" : "object",
"action" : "locate",
"options" : {
"max" : "#VALUE",
"objectGroupMember" : "#FRESH|DEFAULT",
"attributes" : {
"name" : {
"value" : "#VALUE"
},
"state" : "#PREACTIVE|ACTIVE|DEACTIVATED|COMPROMISED|DESTROYED|DESTROYED_COMPROMISED",
"objectType" : "#VALUE",
"fresh" : "#YES|NO",
"objectGroup" : "#VALUE",
"contactInfo" : "#VALUE",
"cryptographicAlgorithm" : "#VALUE",
"cryptographicLength" : "#VALUE",
"cryptoUsageMask" : "#VALUE",
"certificateLength" : "#VALUE",
"certificateType" : "#VALUE",
"x509CertificateSubject" : "#VALUE",
"x509CertificateIssuer" : "#VALUE",
"digitalSigningAlgorithm" : "#VALUE",
"digest" : {
"digestValue" : "#VALUE",
"algorithm" : "#VALUE",
"keyFormatType" : "#VALUE"
},
"link" : {
"linkType" : "#VALUE",
"linkValue" : "#VALUE"
},
"activationDate" : "#YYYY-MM-DD HH:mm:ss",
"deactivationDate" : "#YYYY-MM-DD HH:mm:ss",
"processStartDate" : "#YYYY-MM-DD HH:mm:ss",
"protectStopDate" : "#YYYY-MM-DD HH:mm:ss",
"initialDate" : "#YYYY-MM-DD HH:mm:ss",
"lastChangeDate" : "#YYYY-MM-DD HH:mm:ss",
"compromiseDate" : "#YYYY-MM-DD HH:mm:ss",
"compromiseOccurrenceDate" : "#YYYY-MM-DD HH:mm:ss",
"destroyDate" : "#YYYY-MM-DD HH:mm:ss",
"archiveDate" : "#YYYY-MM-DD HH:mm:ss"
},
"customAttributes" : [ {
"name" : "#VALUE",
"value" : "#VALUE",
"type" : "#TEXT|NUMBER"
} ]
}
}
}
什么 jq 命令删除所有内容,但:
{
"service" : {
"category" : "managed-object",
"resource" : "object",
"action" : "locate",
"options" : {
"attributes" : {
"name" : {
"value" : "#VALUE"
},
},
"customAttributes" : [ {
"name" : "#VALUE",
"value" : "#VALUE",
"type" : "#TEXT|NUMBER"
} ]
}
}
}
我搜索了高低,并花了很多时间反复试验,但没有任何效果。我非常感谢您的提前支持,谢谢。 如何在大 JSON 文件中删除多个对象并保留几个对象?
【问题讨论】: