json - 从给定键数组的对象流中选择
问题描述
如何在 jq 中从键数组中选择一些字段?不是常量,而是键列表:
| $fields = ["name", "url"]
| . [$fields]
解决方案
如果您只是想要来自数组的顶级对象的字段,您可以正常索引:
$ jq --arg fields 'name,url' '.[$fields | split(",")[]]' input.json
通常,如果您需要任意路径的值,最好输入为路径:
$ jq --argjson paths '[["foo"],["foo","bar"]]' 'getpath($paths[])' input.json
推荐阅读
- c++ - C ++中的字符计数器?
- google-apps-script - 脚本有效,但仅适用于一个电子表格
- c# - 用于存储过程调用的模型的 ModelBuilder.Ignore 和 [NotMapped]
- google-maps - 为什么 Google 距离矩阵 Api 的距离会有所不同?
- python - Odoo安装''错误:[Errno 98]地址已在使用中
- node.js - 如何使用外观设计模式在nodejs中汇集postgresql连接?
- java - 为什么我们在java中使用弱引用?
- splunk - splunk如何从字符串中提取数据?
- c - 处置(免费)一棵完整的二叉搜索树
- javascript - 格式化 jqXHR 响应文本的错误消息