首页 > 解决方案 > Json解析数据linux

问题描述

你好,我需要从https://jobs.github.com/positions.json?search=node解析数据并将它们放在 bash shell 中,这样当用户询问公司时,它会为公司带来信息。我试过类似的东西

curl -s https://jobs.github.com/positions.json?search=node | jq。

jq '.select["company"]' 位置.json

但它一直在说我:jq:错误:无法用字符串索引数组

标签: jsonparsing

解决方案


如果要根据特定公司过滤结果,则可以select在 jq 中使用过滤器:

jq '.[] |select(.company == "companyName")'

如果你想生成有效的 JSON 数组,那么你可以用[]

jq  '[ .[] |select(.company == "companyName")]'

对于整个 bash 脚本run.sh companyName,您可以这样做:

#!/bin/bash

curl -s https://jobs.github.com/positions.json?search=node | jq "[ .[] |select(.company == \"$1\")]"

您可以在此处以交互方式尝试:https ://repl.it/repls/PortlyOffbeatCoin

https://stedolan.github.io/jq/manual/#Basicfilters


推荐阅读