gpt4 book ai didi

json - 获取 JSON 文件中的最后一个元素

转载 作者:太空宇宙 更新时间:2023-11-04 10:28:48 24 4
gpt4 key购买 nike

我有这个 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 ' 计算了长度。 |长度'。我如何在 Linux 中使用 jq 命令来做到这一点?

注意:这是一个没有任何数组的纯 JSON 文件。

最佳答案

可以使用 --stream 选项在 jq 中处理具有重复键的对象,例如:

$ jq -s --stream '.[length-2] | { (.[0][0]): (.[1]) }' input.json
{
"error.content": "{custom.error.content}"
}

对于大文件,以下可能会更好,因为它可以避免“吞噬”输入文件:

$ jq 'first(tostream) | {(.[0][0]): .[1]} ' input.json

关于json - 获取 JSON 文件中的最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40810498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com