如何使用jq用分隔符逗号连接多个json对象

如何使用jq用分隔符逗号连接多个json对象,json,bash,jq,Json,Bash,Jq,以下是我的数据: { "ReferringUrl": "N", "OpenAccess": "0", "ItmId": "1694738780" } { "ReferringUrl": "L", "OpenAccess": "1", "ItmId": "1347809133" } 我希望它是这样的: [ { "ReferringUrl": "N", "OpenAccess": "0", "ItmId": "1694738780" }, { "Re

以下是我的数据:

{
  "ReferringUrl": "N",
  "OpenAccess": "0",
  "ItmId": "1694738780"
}
{
  "ReferringUrl": "L",
  "OpenAccess": "1",
  "ItmId": "1347809133"
}
我希望它是这样的:

[
 {
  "ReferringUrl": "N",
  "OpenAccess": "0",
  "ItmId": "1694738780"
 },
 {
   "ReferringUrl": "L",
   "OpenAccess": "1",
   "ItmId": "1347809133"
 }
]

如何使用jq库制作?我使用bash。谢谢!:)

假设JSON对象序列位于名为input.JSON的文件中,只需“slurp”它:

如果对象分布在多个文件上,比如input*.json,那么可以运行:jq-s。输入*.json

处理无效的JSON 如果“对象”与最初显示的一样(即,严格来说不是JSON),那么您可以使用命令行工具,例如
any JSON
json5
、或
hjson
,将它们转换为JSON,一次转换一个。如果每个文件有多个准JSON对象,则可以使用
csplit
awk
拆分文件


或者,如果对象遵循示例中建立的模式,您可以使用GNU-sed:sed-z的/,(\n})/\1/g'

可能的重复,您应该自己努力解决这个问题,并将这些尝试包括在您的问题中,包括它们出了什么问题,OP在输入流中似乎有无效的JSON对象(在
ItmId
键后有尾随的逗号)。
jq -s . input.json