首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在json文件中使用JQ提取字段

问无法在json文件中使用JQ提取字段
EN

Stack Overflow用户
提问于 2017-03-13 00:41:34
回答 2查看 283关注 0票数 1

我一直在寻找这个问题的解决方案,但仍然没有成功。

我正在尝试获取长数字字段(见下文),并省略其他所有内容,但失败了。

以下是JSON文件的内容:

代码语言:javascript
复制
{
    "jsonProfile": {
        "version": "1.0",
        "format": 1
    },
    "authenticationDatabase": {
        "JQ_Newb": {
            "username": "JQ_Newb",
            "profiles": {
                "12345678901234567890123456789012": {
                    "displayName": "JQ_Newb"
                }
            }
        }
    }
}

这是我的过滤器:

代码语言:javascript
复制
.authenticationDatabase|.[]|.profiles

这就是结果:

代码语言:javascript
复制
{
  "12345678901234567890123456789012": {
    "displayName": "JQ_Newb"
  }
}

感谢你们的帮助,Stackoverflow的人们!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-13 00:58:02

下面将从.authenticationDatabase.JQ_Newb.profiles中提取所有密钥名称:

代码语言:javascript
复制
jq -r '.authenticationDatabase.JQ_Newb.profiles | to_entries[] | .key' data.json

如果您在.authenticationDatabase.JQ_Newb.profiles中有多个密钥,它将提供:

代码语言:javascript
复制
12345678901234567890123456789012
12345678901234567890123456789013

要获取.authenticationDatabase.JQ_Newb.profiles中所有键下的值:

代码语言:javascript
复制
jq -r '.authenticationDatabase.JQ_Newb.profiles | to_entries[] | .value ' data.json
票数 1
EN

Stack Overflow用户

发布于 2017-03-13 02:35:14

我已经回答了你,但你不再在频道中-它不是很活跃,因为你可能已经注意到;_;

您已经得到了一个可行的解决方案,但以下是我使用keys的答案

代码语言:javascript
复制
user@host $ jq -r '.authenticationDatabase.JQ_Newb.profiles | keys' jqnewb.json 
[
  "12345678901234567890123456789012"
]
user@host $ jq -r '.authenticationDatabase.JQ_Newb.profiles | keys[]' jqnewb.json 
12345678901234567890123456789012
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42750089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档