【问题标题】:How to find and replace a value with jq in a nested json如何在嵌套的json中用jq查找和替换值
【发布时间】:2020-01-22 01:17:04
【问题描述】:

如何在嵌套的 json 中用 jq 查找和替换值。

https://raw.githubusercontent.com/linuxmint/cinnamon/master/files/usr/share/cinnamon/applets/menu%40cinnamon.org/settings-schema.json

{
    "layout": {
        "menu-layout": {
            "type": "section",
            "title": "Layout and content",
        "keys": [
            "show-category-icons",
            "favbox-show",
            "favbox-min-height",
            "show-places",
        ]
        },
        "menu-behave": {
            "type": "section",
            "keys": [
                "enable-autoscroll",
                "search-filesystem"
            ]
        }
    },
    "favbox-min-height": {
        "type": "spinbutton",
        "default": 300,
    }
}

例如,在 teste.json 上面的这个文件中: 我想在“favbox-min-height”项中替换键:值 “默认”:300 为了 “默认”:400

我做不到,有人可以帮我做吗?

【问题讨论】:

    标签: json replace nested jq edit


    【解决方案1】:
    .["favbox-min-height"] |= (.default = 400)
    

    【讨论】:

    • 我按照建议添加了一个小的 JSON sn-p。它对我不起作用
    • 所以它创建了一个新的 json 更新值 $ jq '。 [“收藏夹最小高度”] | = (.default = 400)' teste.json 会不会覆盖原文件?
    • 最简单的方法是使用sponge,或者写入一个临时文件,然后将其mv就位。
    • 好的,我会的,非常感谢!帮了我很多:)
    猜你喜欢
    • 1970-01-01
    • 2019-03-18
    • 2019-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多