【发布时间】:2016-11-25 18:11:59
【问题描述】:
我有这个 JSON 文件:
{
"system.timestamp": "{system.timestamp}",
"error.state": "{error.state}",
"system.timestamp": "{system.timestamp}",
"error.state": "{error.state}",
"system.timestamp": "{system.timestamp}",
"error.state": "{error.state}",
"error.content": "{custom.error.content}"
}
我只想获取 JSON 文件的最后一个对象,因为我需要检查在每种情况下,最后一个对象是 error.content。附上的部分代码只是一个示例文件,实际生成的每个文件都至少包含大约 40 到 50 个对象,所以在每种情况下我都需要检查最后一个对象是否为error.content。
我使用jq '. | length' 计算了长度。如何在 Linux 中使用jq 命令?
注意:这是一个没有任何数组的纯 JSON 文件。
【问题讨论】:
-
那不是 JSON……好吧,从技术上讲,我猜你可以说它是。但是拥有一个带有 many 重复键的对象实际上是毫无价值的。任何自尊的 JSON 解析器只会删除/覆盖重复的属性,并且可能会一直保留它。修复它比尝试在那种状态下使用它要好得多。
标签: json linux bash parsing jq