给定以下形式的JSON流:
{ "a": 10, "b": 11 } { "a": 20, "b": 21 } { "a": 30, "b": 31 }
我想对每个对象中的值求和并输出一个对象,即:
{ "a": 60, "b": 63 }
我猜想这可能需要将上述对象列表展平为[name, value]
成对的数组,然后使用来求和,reduce
但使用语法的文档却很reduce
糟糕。
除非您的jq拥有inputs
,否则您将不得不使用该-s
标志来吞噬对象。然后,您必须进行大量的操作:
map(to_entries)
| add
| group_by(.key)
| map({
key: .[0].key,
value: map(.value) | add
})
| from_entries
使用jq 1.5,可以大大改善这一点:您可以消除拖尾的感觉,而直接阅读inputs
。
$ jq -n '
reduce (inputs | to_entries[]) as {$key,$value} ({}; .[$key] += $value)
' input.json
由于我们只是累加每个对象中的所有值,因此遍历所有输入的键/值对并将它们加起来会更容易。
问题内容: 我有一个数组,我需要检查该数组中是否存在元素,或者使用jq, fruit.json 从数组中获取该元素: 不起作用 问题答案: “包含”的语义一点都不简单。通常,最好使用“索引”来测试数组是否具有特定值,例如 IN / 1 如果您的jq有更好的解决方案,则使用它: 如果您的jq具有(与jq 1.5一样),那么这里是一个使用的快速定义:
问题内容: 鉴于此输入: 我正在尝试使用jq构造一个过滤器,该过滤器返回s的所有对象,这些s 的内部数组中 不 包含“数据” ,并且输出以换行符分隔。对于以上数据,我想要的输出是 我想我与此有点接近: 但过滤器不正确,并且无法编译(获取)。 问题答案: 很接近!在表达式中,您必须在之前使用管道()。 该滤波器产生预期的输出。 的JQ食谱具有语法的一个例子。 例如,我只想要类型键包含“ house”
问题内容: 目前,我有一些这样的代码 我认为此代码 效率不高, 因为需要返回数组的副本而不是 就地修改ret 我想知道是否可以将numpy数组用于以下代码: 这样,效率会更高。有人对此有想法吗?谢谢! 问题答案: 想象一个numpy数组占据一个连续的内存块。现在想象一下其他对象,例如其他numpy数组,它们正占据着numpy数组左右两侧的内存。没有空间可以追加或扩展我们的numpy数组。numpy
问题内容: 我的要求如下: 我想提供演员姓名,开始日期,结束日期,并获取他在那段时间里演过的所有电影。 因此,我的服务要求就是这样。 现在,我想改善它。我想提供一个开始日期,结束日期和一个以上的演员名称,并希望查看该时期内所有这些演员的电影。 我不确定我的网址应该如何支持这种情况。 我正在使用spring编写基于Java的Web服务。 下面的代码是为了支持一个演员 我正在考虑的一种解决方案是使用%
我的要求如下: 我想给出演员的名字,开始日期,结束日期,以及他在那个时期所演的所有电影。 因此,我的服务请求是这样的。 现在,我想改进它。我想给出一个开始日期、结束日期和不止一个演员的名字,并想看看那个时期所有演员的电影。 我不知道如何我的网址看起来支持这样的事情。 我正在写一个基于java的web服务使用Spring。 下面的代码是为了支持一个参与者 我正在考虑的一个解决方案是使用%符号来分隔演