json - 使用jq依次解析并显示一个json中的多个字段

我有这个 Json

{
    "users": [
        {
            "first": "Stevie",
            "last": "Wonder"
        },
        {
            "first": "Michael",
            "last": "Jackson"
        }
    ]
}

使用 jq 我想连续显示名字和姓氏。像这样-

Stevie Wonder
Michael Jackson

这是我已经走了多远 -

jq '.users[].first, .users[].last'

但它显示

"Stevie"
"Michael"
"Wonder"
"Jackson"

注意以下几点:

  1. 我不想要的双引号。
  2. 我不要的回车。
  3. 乱七八糟的。我的查询首先显示所有名字,然后显示所有姓氏。但是,我想要倒数第一对。

最佳答案

我推荐使用字符串插值:

jq '.users[] | "\(.first) \(.last)"'

我们将 .users[] 的结果通过管道插值生成字符串“.first .last”。 \(foo) 语法用于 jq 中的字符串插值。所以,对于上面的例子,它变成了“Stevie Wonder”(“.users[].first .users[].second” 工作元素)和“Michael Jackson”。

jq 引用:String interpolation

https://stackoverflow.com/questions/28164849/

相关文章:

ajax - POST JSON 失败,出现 415 Unsupported media type,

json - 如何在 Node.js 中记录 JSON 对象的内容?

json - 你如何表示一个 JSON 字符串数组?

javascript - 错误 "Uncaught SyntaxError: Unexpected

json - 在 mongodb 中使用 ISODate 进行日期查询似乎不起作用

ios - Swift 3 URLSession.shared() 对成员 'dataTask(wi

javascript - 使用 Node.js 在 JSON 文件中写入/添加数据

json - 从 JSON 数据生成 JSON 模式的工具

python - 如何将字典转储到 JSON 文件?

java - 在 Java 中将 XML 转换为 JSON 的最快方法