在命令行终端解析json

时间:2014-02-20 08:35:49

标签: json terminal jq

我想使用jq来处理终端中的json文件。我正在尝试这个命令:

cat json.txt | jq 'name'
它正在向我展示

-bash: /usr/bin/jq: cannot execute binary file

预期结果:

Google

其中json.txt确实是有效的json文件。我试图检查jq是否安装正确。这是我得到的:

 brew install jq
它告诉我:

Warning: jq-1.3 already installed

我正在使用mac。有人有什么想法吗? json.txt文件为:

 {
    "name": "Google",
    "location":
            {
                    "street": "1600 Amphitheatre Parkway",
                    "city": "Mountain View",
                    "state": "California",
                    "country": "US"
            },
    "employees":
            [
                    {
                            "name": "Michael",
                            "division": "Engineering"
                    },
                    {
                            "name": "Laura",
                            "division": "HR"
                    },
                    {
                            "name": "Elise",
                            "division": "Marketing"
                    }
            ]
}

1 个答案:

答案 0 :(得分:1)

关于获得预期结果,您要使用的过滤器是:

.name

请注意.。您想获取name属性的值。

至于错误,我不知道您的环境是什么,但似乎表明您安装了与您的操作系统不兼容的错误版本的jq。查找有关如何在计算机上安装它的教程。