从json解析值

yeotifhr  于 2022-11-26  发布在  其他
关注(0)|答案(2)|浏览(131)

我有一个跟随json

{
"kind":"testObject",
"spec":{
},
"status":{
"code":"503"
  }
}

我只想检索code的值,这样它就只显示“503”作为输出。
我确实尝试过使用jmespath,但是二进制文件是不可能,而且不确定使用什么。

xj3cbfub

xj3cbfub1#

使用.status.code存取值:

$ jq '.status.code' <<JSON
{
 "kind":"testObject",
 "spec":{
 },
 "status":{
  "code":"503"
 }
}
JSON
"503"

如果希望输出为503(与"503"相比),请使用--raw-output/-r

$ jq -r '.status.code' <<JSON
{
 "kind":"testObject",
 "spec":{
 },
 "status":{
  "code":"503"
 }
}
JSON
503
rnmwe5a2

rnmwe5a22#

由于此问题具有jmespath标记,因此有必要指出可以使用JMESPATH命令行工具jp,如下所示:

jp status.code

或取消引号:

jp -u status.code

类似地,使用jaq(它具有基于jq的语法),可以编写:

jaq .status.code

或取消引号:

jaq -r .status.code

相关问题