jq 按键值排序

2023-12-19

给定以下 JSON(为了示例而过于简化),我需要按键的值对键进行排序。在这种情况下,顺序应该是 id > name > type。

{
    "link": [{
            "attributes": [{
                    "value": "ConfigurationElement",
                    "name": "type"
                }, {
                    "value": "NAME1",
                    "name": "name"
                }, {
                    "value": "0026a8b4-ced6-410e-9213-e3fcb28b3aab",
                    "name": "id"
                }
            ],
            "href": "href1",
            "rel": "down"
        }, {
            "attributes": [{
                    "value": "0026a8b4-ced6-410e-9213-k23g15h2u1l5",
                    "name": "id"
                }, {
                    "value": "ConfigurationElement",
                    "name": "type"
                }, {
                    "value": "NAME2",
                    "name": "name"
                }
            ],
            "href": "href2",
            "rel": "down"
        }
    ],
    "total": 2
}

预期结果:

{
    "link": [{
            "attributes": [{
                    "value": "0026a8b4-ced6-410e-9213-e3fcb28b3aab",
                    "name": "id"
                }, {
                    "value": "NAME1",
                    "name": "name"
                }, {
                    "value": "ConfigurationElement",
                    "name": "type"
                }
            ],
            "href": "href1",
            "rel": "down"
        }, {
            "attributes": [{
                    "value": "0026a8b4-ced6-410e-9213-k23g15h2u1l5",
                    "name": "id"
                }, {
                    "value": "NAME2",
                    "name": "name"
                }, {
                    "value": "ConfigurationElement",
                    "name": "type"
                }
            ],
            "href": "href2",
            "rel": "down"
        }
    ],
    "total": 2
}

如果有人能帮助我,我将非常感激。我尝试了 jq 和 -S 以及 -s 和 sort_by(),但是这个例子对于我来说太复杂了,无法以我目前使用 jq 的经验来弄清楚。万分感谢!


你可以做:

jq '.link[].attributes|=sort_by(.name)'

The |=获取所有匹配的路径.link[].attributes,即每个“属性”数组,并应用过滤器sort_by(.name)对他们每个人来说,保持其他一切不变。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jq 按键值排序 的相关文章

  • 如何通过 Json 在 C# 上使用 telegram API?

    我正在查看 telegram API 函数列表 https core telegram org method auth checkPhone https core telegram org method auth checkPhone 并想
  • 如何使用 jq 和 Bash 将 JSON 展平为 Key=Selector 的 Bash 关联数组?

    作为后续展平任意 JSON https stackoverflow com questions 42299905 using jq flatten arbitrary json to delimiter separated flat dic
  • json_decode 到自定义类

    是否可以将 json 字符串解码为 stdClass 以外的对象 不是自动的 但你可以按照老式的路线来做 data json decode json true class new Whatever foreach data as key g
  • 如何动态删除嵌套的json键?

    这是示例 json search facets author language value nep count 3 value urd count 1 source value West Bengal State Council of Vo
  • 根据重复值对 PHP 数组进行排序

    我有一个包含重复值的数组 我想对数组进行排序 以便重复次数最多的值出现在行中的第一个 这是我的数组的示例 array 1 2 3 2 1 2 2 我想对该数组进行排序 以便它根据重复项的数量对自身进行排序 如下所示 array 2 1 3
  • eventSources 到事件 Json,完整日历

    我正在尝试从 eventSources 获取 json 调用到我的事件 我在 eventSources 中返回的 json 是 title Title Test start 1305841052 当我将此字符串传递到事件中时 它会正确显示日
  • 使用 Python 合并 JSON 数据

    作为 Python 程序的一部分 我想合并包含相同结构数据的 JSON 对象 例如 responseStatus SUCCESS responseDetails total 5754 data id 1324651 id 5686131 我
  • Javascript 从 Buffer 到 JSON

    我正在使用 bleno 一个 Node js BLE 包 它使用 Buffer 来发送和接收数据 我将如何获取 Buffer 对象并将其转换为 JSON 这就是我现在所拥有的 bufferToJson buffer toString buf
  • 有没有一种简单的方法可以在 Java 中按字母顺序排列字符串枚举?

    就像标题说的那样 我尝试用 List 上的 Collections sort 和 ArrayList 的 sort 函数搞乱一些 但我永远无法将其解析回枚举 Thanks EDIT 这是一些伪代码和进一步的解释 我的目标是从哈希表中获取ke
  • 插入 Mysql 表时防止 Json 排序

    在发送 AJAX 请求时 Json Content 的重新排序已经是一个已知问题 但我不知道在将 Json content 插入 JSON 类型的 Mysql 表时也会发生同样的情况 在这种情况下 mysql 服务器在保存之前也会对其内容进
  • 如何使用 Jackson 将日期编组为时间戳

    我在将 java util Date 对象编组 取消 到时间戳中时遇到问题 理想情况下 时间戳应采用 UTC 0 格式 而不是服务器的本地时区 尽管如果需要的话我可以很容易地解决这个问题 注意 我知道这里有几个关于堆栈溢出的类似主题 但我遇
  • Android Volley 服务器错误

    I am posting data all strings to varchar variables in server but i am getting volley server error or badnetwork performa
  • 使用智能菜单jquery打印json

    menu name Computers children name Notebook children name Apple name Windows name Tablets children name Apple name Androi
  • Javascript“命名空间”和 jQuery AJAX

    我正在使用此处列出的建议 http www odetocode com articles 473 aspx http www odetocode com articles 473 aspx 使用模拟的JavaScript AJAX网络聊天系
  • ActiveSupport::JSON 解码哈希丢失符号

    我正在尝试序列化和反序列化哈希 当散列被解除序列化时 密钥被解除符号化 例如不是更多 一 而是 一 从 Rails 控制台 gt gt h one gt 1 two gt two one gt 1 two gt two gt gt j Ac
  • 如何使用 *non-case* 类通过 Scala 从 JSON 反序列化?

    我正在编写一个 Scala 应用程序 需要序列化和反序列化 JSON 某些 JSON 对象具有超过 22 个字段 因此我无法使用案例类 并且也无法更改格式 我找到的所有 Scala JSON 库都只能 轻松地 与案例类一起使用 而不是与普通
  • sql中的拓扑排序

    我正在解决表中某些对象之间的依赖关系 我必须对对象做一些事情来排序它们的依赖性 例如 第一个对象不依赖于任何对象 第二个和第三个取决于第一个 依此类推 我必须使用拓扑排序 http en wikipedia org wiki Topolog
  • 如何将多个数据系列导入 Highcharts

    以下代码有效 var options1 chart renderTo container1 series getJSON tokyo jsn function data options1 series 0 data data var cha
  • Pandas:根据其他多级列对最里面的列进行分组排序

    考虑下面的 df In 3771 df pd DataFrame A a 11 B b 11 C C1 C1 C2 C1 C3 C3 C2 C3 C3 C2 C2 D D1 D2 D1 D3 D3 D2 D4 D4 D1 D2 D3 E v
  • Rails Active Model Serializer - has_many 并访问父记录

    我正在尝试使用 Active Model Serializer 构建一些 Rails 模型的 JSON 表示 其中一些模型嵌入了其他模型 例如 我有活动和参加者 活动 has and belongs to many 参加者 class Ev

随机推荐