json - Jq 解析错误:第 1 行第 9 列的数字文字无效
问题描述
我正在尝试使用 curl 从 url 从 json 文件中获取值,然后使用 jq 命令(例如公司)打印特定键。不幸的是,当我使用:
jq '.[] | .company' JB.json
我得到错误:
parse error: Invalid numeric literal at line 1, column 9
。我用less检查了下载的文件,它看起来与url中的完全一样。
有些人建议使用 -R 选项,但它会打印:
jq: error: Cannot iterate over string
该文件的网址是:https ://jobs.github.com/positions.json?description=python&location=new+york
解决方案
如果您用于curl -sS
检索文件,则会跳过“//”样式的注释:
curl -Ss 'https://jobs.github.com/positions.json?description=python&location=new+york' | jq '.[] | .company'
"BentoBox"
"Aon Cyber Solutions"
"Sesame"
"New York University"
所以大概您的 JB.json 包含“//”样式的注释。最简单的解决方法可能是首先过滤掉前两行(例如使用sed
(或jq!))。
这是一个仅限 jq 的解决方案:
< JB.json jq -Rr 'select( test("^//")|not)' |
jq '.[] | .company'
推荐阅读
- r - 如何为列/行创建不同的 ggpair 散点图限制?
- html - 在 Angular HTML 中使用导入的 Typescript 函数
- python - QAxWidget 实例中的 QEventLoop 失败
- excel - 有没有办法使用 ColdFusion SpreadsheetSetHeader/Footer 函数在页眉/页脚中添加 Excel 页码
- html - 调整宽度内的内容
- javascript - 如何让我的 HTML 表单日期输入仅允许使用 JavaScript、React 和 HTML 选择一周中的特定日期?
- markdown - 如何使用 Markdown 在表格的左上角单元格中绘制对角线?
- selenium-webdriver - 我无法编写 x 路径
- python - 如何用体素填充 3D 图形?
- asp.net - 美国 Zip+4 验证