小编Ezh*_*gam的帖子

如何使用jq从JSON获取密钥名称

curl http://testhost.test.com:8080/application/app/version | jq '.version' | jq '.[]'

上面的命令只输出如下值:

"madireddy@test.com"

"2323"

"test"

"02-03-2014-13:41"

"application"
Run Code Online (Sandbox Code Playgroud)

如何获得密钥名称,如下所示:

email

versionID

context

date

versionName
Run Code Online (Sandbox Code Playgroud)

unix shell json key jq

103
推荐指数
8
解决办法
7万
查看次数

jq以不同的方式对KEY和VALUES进行排序 - 如何以相同的顺序枚举它们?

我使用curl命令以JSON格式获得REST输出,如下所示

使用以下方法获取KEY名称:

curl http://test.te:8080/testApp/app/version | jq '.version' | jq '. | keys'
Run Code Online (Sandbox Code Playgroud)

OUTPUT:

"Archiver-Version",
"Build-Id",
"Build-Jdk",
"Build-Number",
"Build-Tag",
"Built-By"
Run Code Online (Sandbox Code Playgroud)

单独使用VALUES:

curl http://test.te.com:8080/testApp/app/version | jq '.version' | jq '.[]'
Run Code Online (Sandbox Code Playgroud)

OUTPUT(注意值的顺序与键名的顺序不对应;例如,第一个值"user@test.com",是键的值"Built-By",而不是如我所料,第一个键,"Archiver-Version"):

"user@test.com"
"1634d38"
"sandbox"
"02-03-2014-13:41"
"testApp"
Run Code Online (Sandbox Code Playgroud)

我试图将KEYS和VALUES分配给单独的数组,以便我可以迭代它们并以表格格式显示它们.

但是这两个命令以不同的方式排序,我无法直接分配值和键.

有没有改变KEYS和VALUES的排序,以便两者相同?

unix shell json enumeration jq

7
推荐指数
3
解决办法
7451
查看次数

标签 统计

jq ×2

json ×2

shell ×2

unix ×2

enumeration ×1

key ×1