我有一个JSON对象,如下所示:

[{"name":"NAME_1"},"NAME_2"]

我想要输出

["NAME_1", "NAME_2"]

数组中的一些条目是一个带有键"name"的对象,而有些条目只是名称的字符串.我正在try 提取一组名称.使用

jq -cr '.[].name // []'

try 索引时引发错误.字符串对象的名称.是否有方法判断它是否是字符串,如果是,请使用其值,而不是.名称

推荐答案

echo '[{"name":"NAME_1"},"NAME_2"]' \
| jq '[ .[] | if (.|type) == "object" then .name else . end ]'
[
  "NAME_1"
  "NAME_2"
]

裁判:


作为@Léagris comments ,一个简单的版本

jq '[ .[] | .name? // . ]' file

Json相关问答推荐

从先前的REST调用创建动态JSON主体

从Json响应中为需要每个值的Post请求提取多个值

如何在Haskell中解析JSON,其中字段的名称可以是多个值之一,但应该转换为单个Haskell类型?

属性错误:';ActivitiesClient';对象没有属性';base_url';

将PNG图像保存为Python中的JSON文件

在 VS Code 中将一个正则表达式替换为另一个正则表达式

如何对未知/变量键的字典进行编码?

PowerShell - 将 json 添加到文件内容

从 oracle 数据库中的 json blob 打印值

如何在循环中传递列表(会话(字符串属性))以在 Gatling Scala 中创建批量 Json 请求

如何在 powerapps 中将详细信息表单转换为 json?

使用 Jolt 变换将平面 json 转换为具有多个数组的嵌套 Json

将哈希表转换为 json 后,Powershell 缺少数组

如何为所有 API 端点全局设置 http.ResponseWriter Content-Type 标头?

json.decoder.JSONDecodeError:期望值:第 1 行第 1 列(字符 0)

读取 HttpwebResponse json 响应,C#

POST:在 url 本身中发送 post 请求

如何向 json IAM 策略添加 comments ?

XML vs YAML vs JSON

从动态 json 数据更新力有向图上的链接