【问题标题】:print all json objects as string using jq utility使用 jq 实用程序将所有 json 对象打印为字符串
【发布时间】:2021-11-27 19:54:22
【问题描述】:

我有一个 JSON 值:

{
  "ssh_key": {
    "id": 123
  }
}

我如何通过 jq 实用程序id 对象打印为字符串?对象值必须是(双配额):

{
  "id": "123"
}

我现在使用jq '.ssh_key | {id} 命令进行不带双引号的打印。

谢谢。

【问题讨论】:

  • 在您的 Q 标题中,出现“所有 JSON 对象”这一短语,但在 JSON 语言中,它具有与问题主体不对应的特定含义。您希望每个顶级键值对中的所有数值都转换为字符串,还是仅将与“id”键对应的数值?或者你的意思是别的什么?

标签: json jq


【解决方案1】:

使用内置的tostring(或@text)转换成字符串:

jq '.ssh_key | .id |= tostring'
{
  "id": "123"
}

Demo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-14
    • 2016-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-20
    相关资源
    最近更新 更多