Json 使用jq构建对象
我想使用jq转换以下格式的数据:Json 使用jq构建对象,json,object,jq,Json,Object,Jq,我想使用jq转换以下格式的数据: { "key": "something-else", "value": { "value": "bloop", "isEncrypted": false } } { "key": "something", "value": { "value": "blah", "isEncrypted": false } } { something: "blah", something-else: "bloop"
{
"key": "something-else",
"value": {
"value": "bloop",
"isEncrypted": false
}
}
{
"key": "something",
"value": {
"value": "blah",
"isEncrypted": false
}
}
{
something: "blah",
something-else: "bloop"
}
格式如下:
{
"key": "something-else",
"value": {
"value": "bloop",
"isEncrypted": false
}
}
{
"key": "something",
"value": {
"value": "blah",
"isEncrypted": false
}
}
{
something: "blah",
something-else: "bloop"
}
一路上过滤掉“加密值”。我怎样才能做到这一点?我已经做到了以下几点:
.parameters | to_entries[] | select (.value.isEncrypted == false) | .key + ": " + .value.value
产生:
"something-else: bloop"
"something: blah"
很近,但现在还没有。我怀疑这其中有一些聪明的函数。给定示例输入,这里有一个简单的解决方案,假设对象流作为数组可用。如果将JSON对象作为jq的输入,或者在您的示例中,仅使用.parameters | to _条目,则可以使用jq-s来完成此操作 这将生成JSON对象:
{
"something-else": "bloop",
"something": "blah"
}
这里的关键思想是:
对象构造的语法:{KEYNAME:VALUE}
添加
了解其工作原理的一种方法是运行过滤器映射的第一部分。。。首先
使用未排序的键
如果您想避免ToA条目的开销,您可能需要考虑下面的方法,该方法省去了对参数的隐式描述: