Json 分析错误:第1行第9列的数值文字无效

Json 分析错误:第1行第9列的数值文字无效,json,jq,Json,Jq,我知道jq搜索需要被{}阻止,密钥需要用“封装,例如: { "id": 36815684 } 但如果我有这样的东西: X-RateLimit-Reset: 1452786798 我得到这个错误: 分析错误:第1行第9列的数值文字无效 我需要回到sed/awk/perl..还是有更优雅的方式使用jq?除了完全不使用jq之外,您有两个主要选择: (1) 预处理非JSON使其成为JSON (2) 使用-R命令行选项,例如 echo "X-RateLimit-Reset: 1452786798"

我知道jq搜索需要被
{}
阻止,密钥需要用
封装,例如:

{
  "id": 36815684
}
但如果我有这样的东西:

X-RateLimit-Reset: 1452786798
我得到这个错误:

分析错误:第1行第9列的数值文字无效


我需要回到
sed/awk/perl..
还是有更优雅的方式使用jq?

除了完全不使用jq之外,您有两个主要选择:

(1) 预处理非JSON使其成为JSON

(2) 使用-R命令行选项,例如

echo "X-RateLimit-Reset: 1452786798" | jq -R 'split(":")'

[
  "X-RateLimit-Reset",
  " 1452786798"
]
因此,如果您知道该值将是数值:

echo "X-RateLimit-Reset: 1452786798" |
  jq -Rc 'split(":") | {(.[0]) : (.[1]|tonumber)}'
{"X-RateLimit-Reset":1452786798}

请注意,尽管jq中的“j”表示JSON,但jq(带有-R选项)对于文本处理来说效果很好。

这不是JSON…看起来像http头…
jq
表示处理JSON。您能提供一个示例来说明输入和预期输出吗?我不确定您想要实现什么。