问题标签 [jq]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6432 浏览

json - 复杂 jq 过滤器

免责声明:这不是家庭作业,这是我正在为工作做的事情的净化版本。

我正在尝试使用 jq 过滤一些 json 数据,并希望为过滤器中的每个匹配记录返回一个对象。这是我正在做的事情的文本描述:“给定一个 JSON 对象,其中包含学生列表、一些个人信息和他们的成绩,返回一个包含每个学生的姓名、年龄和累积 gpa 的列表CSC101。”

这是测试 JSON 对象(程序输入):

这是我当前的过滤器表达式和结果:

它有点工作,但它会产生额外的输出。我只希望它产生具有 CSC101 条目的学期,而是返回任何参加 CSC101 的学生的所有学期。有什么建议么?

0 投票
5 回答
52380 浏览

bash - 列出 EC2 实例的公网 IP 地址

我想使用 Bash 列出我的 EC2 实例的公共 IP 地址,并用分隔符(空格或换行符)分隔。

我尝试将输出通过管道传输到jqaws ec2 describe-instances | jq但似乎无法仅隔离 IP 地址。

这可以通过aws单独、指定参数jq或完全其他方式来完成吗?

0 投票
4 回答
415 浏览

jq - {} 和 select 之间的交互

这是我的测试数据:

我正在尝试简化输出,以显示“名称”字段(如果存在),并始终显示 id。例如,这个脚本几乎可以工作:

当我尝试添加对不存在的 .keys 的防护并过滤我关心的“键”部分时,会发生以下情况:

我假设 {} 以某种方式以零长度数组而不是“null”结束。我应该使用什么来代替 |?我有什么误解?

0 投票
1 回答
3999 浏览

json - 根据另一个键的值有条件地打印值

这是一些示例 JSON:

我只想在“Key”为“Type”时打印“Value”的值。所以它应该打印出“C”。这就是我到目前为止所拥有的。

但它打印出来:

“富”
“C”

有没有办法做到这一点?

0 投票
3 回答
1207 浏览

shell - jq中sql连接的类比

我有以下json:

基本上,我需要使用 jq 来产生这个输出,这类似于 sql join 的结果:

有任何想法吗?

0 投票
4 回答
33607 浏览

json - 如何在 jq 中将 JSON 对象转换为 key=value 格式?

在 jq 中,如何将 JSON 转换为字符串key=value

从:

至:

0 投票
1 回答
18067 浏览

bash - 使用 jq (cmdline) 添加 json 数组元素

我正在尝试在 bash 中生成一个 json 文件。我安装了 jq,希望它能帮助我生成和附加 json。

例如,我想以这种格式生成一个 json:

虽然可以像这样,但使用以下过滤器

当我想在同一个项目和名称中创建另一个条目时,它会创建一个全新的条目,如果它是一个新项目,则会导致:

但我想拥有

jq/bash有办法吗?

0 投票
1 回答
4173 浏览

regex - 在构建正则表达式模式时按 jq 中的值过滤

在尝试创建一个输入版本以馈入我的实际代码时,我需要创建一个文件,该文件能够在键的值中获取“包含”具有区分大小写的字符串版本的字符串。即构建一个正则表达式来实现“包含” “camfrog or tubemate, or soundcloud”。

示例 JSON 输入:

从这个 Json 输入中,我需要过滤名称为“像”Camfrog 的应用程序(可以是 CAMFROG、camfrog .. 等,因此正则表达式必须不区分大小写。除此之外,我还需要输出一系列 app_names,例如,说“Camfrog”、“Tubemate”、“soundcloud”等。我在这里查阅了 jq 手册,http ://stedolan.github.io/jq/manual/ ,但无法构建表达式。

这是我尝试过的-:

但我得到匹配未定义及其编译错误。我怎样才能在 Jq 中做到这一点。

fallback -:我可以将它作为数据框加载到 pandas 中,并在那里执行正则表达式,但由于我的文件有很多我并不真正需要的东西,我想在 Jq 中快速过滤。

过滤应用程序后的示例输出(我需要原始输出中的所有键、值 - :

PPS:如果你能“教我钓鱼”,而不是仅仅构建应该匹配的正则表达式,将不胜感激。

跟进问题-:

另外,当我尝试在 jq 手册中测试示例示例时,例如-:

回声 [{"foo": 1, "bar": 2}, {"foo": 1, "bar": 3}, {"foo": 4, "bar": 5}] | jq '独特的(.foo)

我得到,错误:唯一参数太多(预期为 0 但得到 1)唯一(.foo)1 编译错误

当 jq 手册阅读时,一个示例示例如下 - :

我还应该如何在这里尝试输入?

我构建字典的方式确实是 , </home/ekta/SamplePrototype.dat jq -c '{appid:.app.id,,app_name:.app.name,publisher_id:.app.publisher_id}',但我想测试 jq 手册中的内容。你能给我指点一下我在这里做错了什么吗?

0 投票
5 回答
15927 浏览

json - 如何使用 jq 将我的 JSON 转换为 CSV?

我有以下 JSON 数据:

如何使用jq将其转换为 CSV 格式,以便我的结果如下所示?

我尝试了以下方法,但没有奏效:

如果不可能,任何 perl 或 shell 解决方案都会受到赞赏。

0 投票
4 回答
39841 浏览

json - 如何根据数组中的值选择JQ中的项目

我有一个像这样行的文件:

如何使用jq选择并仅显示在其“项目”数组中具有“蓝色”的 JSON 值?

所以输出将是: