Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 使用jq构建对象_Json_Object_Jq - Fatal编程技术网

Json 使用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"

我想使用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"
}
一路上过滤掉“加密值”。我怎样才能做到这一点?我已经做到了以下几点:

.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条目的开销,您可能需要考虑下面的方法,该方法省去了对参数的隐式描述: