我使用curl命令以
JSON格式获得REST输出,如下所示
curl http://test.te:8080/testApp/app/version | jq '.version' | jq '. | keys'
OUTPUT:
"Archiver-Version","Build-Id","Build-Jdk","Build-Number","Build-Tag","Built-By"
单独使用VALUES:
curl http://test.te.com:8080/testApp/app/version | jq '.version' | jq '.[]'
OUTPUT(注意值的顺序与键名的顺序不对应;例如,第一个值“user@test.com”是键“Built-By”的值,而不是像我期望的那样,对于第一个密钥,“Archiver-Version”):
"user@test.com" "1634d38" "sandBox" "02-03-2014-13:41" "testApp"
我试图将KEYS和VALUES分配给单独的数组,以便我可以迭代它们并以表格格式显示它们.
但是这两个命令以不同的方式排序,我无法直接分配值和键.
有没有改变KEYS和VALUES的排序,以便两者相同?
解决方法
jq有一个对键进行排序的选项.见
http://stedolan.github.io/jq/manual/#Invokingjq
--sort-keys / -S: Output the fields of each object with the keys in sorted order.
然而,当前发布的jq版本(1.3)尚未进行此增强,您需要通过其主分支的最新代码编译jq.请参见http://stedolan.github.io/jq/download/,“Linux或OS X上的源代码”部分.
有关此功能的完整历史记录和详细信息,请参阅问题#79“按名称排序对象成员的选项或功能”https://github.com/stedolan/jq/issues/79