【发布时间】:2017-09-16 19:47:43
【问题描述】:
我有这样的json字符串:
jstring='[{"userQuery":"select name from abc;","user":"abc"},{"userQuery":"select name from xyz;","user":"xyz"},{"userQuery":"select name from ppp;","user":"ppp"}]'
我使用 jq 编写了一个简单的 for 循环来提取值,但没有得到想要的结果。
for i in `echo $jstring | jq '.[] | [.user, .userQuery]'`; do echo ${i}; done
借助这条线:echo $jstring | jq '.[] | [.user, .userQuery]'。我能够提取以下信息:
[ "abc", "select name from abc;"][ "xyz", "select name from xyz;"][ "ppp", "select name from ppp;"]
现在,我希望每个数组有两个变量“用户”和“查询”并存储该信息。
例如:For [ "abc", "select name from abc;"] -- user:abc, query: "select name from abc" 并存储。
我不确定如何使用 jq 遍历 json 并获取单个值并存储它们。
【问题讨论】:
-
你想在一个数组中累积各自的值,比如:
user["abc" "xyz" "ppp"]? -
@RomanPerekhrest:不,我想构建一条消息并记录它或通过电子邮件发送它。例如:用户:${user} 正在运行:${query}。