【发布时间】:2021-06-13 10:01:40
【问题描述】:
{ "inprog" : [ { "host" : "DESKTOP-LTB3QQ5:27017", "desc" : "conn25", "connectionId" : 25, "client" : "127.0.0.1:38354", "appName" : "MongoDB Shell", "clientMetadata" : { "application" : { "name" : "MongoDB Shell" }, "driver" : { "name" : "MongoDB Internal Client", "version" : "3.6.8" }, "os" : { "type" : "Linux", "name" : "Ubuntu", "architecture" : "x86_64", "version" : "20.04" } }, "active" : true, "currentOpTime" : "2021-03-16T11:01:14.599+0530", "opid" : 3135, "lsid" : { "id" : UUID("82088a94-16c2-4aa2-92d8-c557e74049a1"), "uid" : BinData(0,"47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=") }, "secs_running" : NumberLong(0), "microsecs_running" : NumberLong(65), "op" : "command", "ns" : "admin.$cmd.aggregate", "command" : { "currentOp" : 1, "lsid" : { "id" : UUID("82088a94-16c2-4aa2-92d8-c557e74049a1") }, "$db" : "admin" }, "numYields" : 0, "locks" : { }, "waitingForLock" : false, "lockStats" : { } } ], "ok" : 1 }
命令cat mon.json | jq
当我用 jq 解析这个时,我得到了这个错误
parse error: Invalid numeric literal at line 1, column 493
我认为这是因为 "id": UUID("82088a94-16c2-4aa2-92d8-c557e74049a1")
【问题讨论】:
-
如消息所述,这不是有效的 JSON。
UUID(...)、BinData(...)、NumberLong(...)等无效。 -
片段
BinData(0,"47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=")和NumberLong(...)也不是有效的JSON;您的行号等也不匹配。展望未来,请参阅提供minimal reproducible example 的指南。 -
另外,切线,the
catis useless. -
要回答您的实际问题,JSON 解析器无法解析不是 JSON 的文本。可能要求向您提供此数据的任何人或任何其他人提供更正的输出。
-
您必须先将数据转换为 JSON,然后才能使用 jq。见stackoverflow.com/questions/38144236/…