我一直在寻找解决方案,但仍然没有设法做到这一点。
我试图获取长号字段(见下文)并忽略其他所有字段,但未能这样做。
这是JSON文件内容:
{
"jsonProfile": {
"version": "1.0",
"format": 1
},
"authenticationDatabase": {
"JQ_Newb": {
"username": "JQ_Newb",
"profiles": {
"12345678901234567890123456789012": {
"displayName": "JQ_Newb"
}
}
}
}
}
这是我的过滤器:
.authenticationDatabase|.[]|.profiles
这就是结果:
{
"12345678901234567890123456789012": {
"displayName": "JQ_Newb"
}
}
感谢您帮助Stackoverflow人员!
答案 0 :(得分:1)
以下内容将从.authenticationDatabase.JQ_Newb.profiles
中提取所有关键名称:
jq -r '.authenticationDatabase.JQ_Newb.profiles | to_entries[] | .key' data.json
如果.authenticationDatabase.JQ_Newb.profiles
中有多个密钥,则会显示:
12345678901234567890123456789012
12345678901234567890123456789013
获取.authenticationDatabase.JQ_Newb.profiles
中所有键下的值:
jq -r '.authenticationDatabase.JQ_Newb.profiles | to_entries[] | .value ' data.json
答案 1 :(得分:1)
我已经回答了你,但你不再在频道中 - 它并不是非常活跃,因为你可能已经注意到了; _;
您已经获得了一个有效的解决方案,但这是我使用user@host $ jq -r '.authenticationDatabase.JQ_Newb.profiles | keys' jqnewb.json
[
"12345678901234567890123456789012"
]
user@host $ jq -r '.authenticationDatabase.JQ_Newb.profiles | keys[]' jqnewb.json
12345678901234567890123456789012
URL obj = new URL("https://URLGoesHere");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");