簡體   English   中英

Jq 解析錯誤:第 1 行第 9 列的數字文字無效

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM