[英]Jq parse error: Invalid numeric literal at line 1, column 9
我正在嘗試使用 curl 從 url 的 json 文件中獲取值,然后使用 jq 命令(例如公司)打印特定的鍵。 不幸的是,當我使用: jq '.[] | .company' JB.json
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'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.