gpt4 book ai didi

json - jq - setpath - 无法用数字索引对象

转载 作者:行者123 更新时间:2023-12-04 13:22:26 25 4
gpt4 key购买 nike

我想在现有文档中添加新路径

./jq  < test.json
{
"correlationId": "6298865a73b477106c98d021",
"leg": 0,
"tag": "sent",
"offset": 322858,
"len": 178,
"prev": {
"page": {
"file": 10352,
"page": 2
},
"record": 911
},
"data": "HTTP/1.1 403 Forbidden\r\nDate: Fri, 16 Feb 2018 08:37:54 GMT\r\nServer: \r\nConnection: close\r\nX-CorrelationID: Id-6298865a73b477106c98d021 0\r\nContent-Type: text/html\r\n\r\nAccess Denied"
}

我正在使用 jq 手册中描述的过滤器 setpath。但即使我复制了记录的字符串

./jq 'setpath([0,"a"]; 1)'  < test.json

仍然出现错误:

jq: error (at <stdin>:1): Cannot index object with number

我没有看到任何语法问题。我忽略了什么吗?

问候和感谢,雷迪

最佳答案

您不能使用整数索引作为 JSON 对象中的键。对于 JSON 对象,键必须是一个字符串,所以你可以这样写:

jq 'setpath(["0","a"]; 1)'  < test.json

输出:

{
"correlationId": "6298865a73b477106c98d021",
"leg": 0,
"tag": "sent",
"offset": 322858,
"len": 178,
"prev": {
"page": {
"file": 10352,
"page": 2
},
"record": 911
},
"data": "HTTP/1.1 403 Forbidden\r\nDate: Fri, 16 Feb 2018 08:37:54 GMT\r\nServer: \r\nConnection: close\r\nX-CorrelationID: Id-6298865a73b477106c98d021 0\r\nContent-Type: text/html\r\n\r\nAccess Denied",
"0": {
"a": 1
}
}

关于json - jq - setpath - 无法用数字索引对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48827898/

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