【发布时间】:2021-07-22 19:13:15
【问题描述】:
我有一个很长的 JSON 文件,其结构如下(没有嵌套属性):
{
"Aaa aaa aaa": "Aaa aaa aaa",
"Bbb bbb bbb": "Bbb bbb bbb",
"Ccc ccc ccc": "Xxx xxx xxx",
"Ddd ddd ddd": "Ddd ddd ddd",
"Eee eee eee": "Yyy yyy yyy"
}
我需要打印那些键与值不匹配的对。在这个例子中,我期待这样的结果:
"Ccc ccc ccc": "Xxx xxx xxx",
"Eee eee eee": "Yyy yyy yyy"
我知道如何使用 sed...
捕获和打印键和值sed -n "s/^\t\"\(.*\)\": \"\(.*\)\",\?$/\1 \2/p" file.json
...但我不知道如何在两组之间进行比较。也许 sed 不是这个任务的正确工具,我应该使用 awk 或 jq 代替,但是没有任何经验后者。
因此,在 JSON 文件中搜索名称-值对差异的正确方法或工具是什么?
【问题讨论】:
-
which would be the right way or tool to search differences in name-value pairs within a JSON file?jq是对 JSON 文件执行任何操作的工具。