json - 如何使用 jq 解析 json 对象数组
问题描述
我需要解析一个包含很多数组的 Json 文件。
这是json源:
{
"iabVersion": "IAB_V2",
"categories": [{
"categories": [{
"categories": [{
"id": "1.1.1",
"name": "Commercial Trucks"
},
{
"id": "1.1.2",
"name": "Convertible"
},
{
"id": "1.1.3",
"name": "Coupe"
},
{
"id": "1.1.4",
"name": "Crossover"
},
{
"id": "1.1.5",
"name": "Hatchback"
},
{
"id": "1.1.6",
"name": "Microcar"
},
{
"id": "1.1.7",
"name": "Minivan"
},
{
"id": "1.1.8",
"name": "Off-Road Vehicles"
},
{
"id": "1.1.9",
"name": "Pickup Trucks"
},
{
"id": "1.1.10",
"name": "Sedan"
},
{
"id": "1.1.11",
"name": "Station Wagon"
},
{
"id": "1.1.12",
"name": "SUV"
},
{
"id": "1.1.13",
"name": "Van"
}],
"id": "1.1",
"name": "Auto Body Styles"
}
}
}
这是所需的json:
{
"id": "1.1.1",
"name": "Commercial Trucks"
}
{
"id": "1.1.2",
"name": "Convertible"
}
如何通过 jq 解析它?
10倍:)
解决方案
假设 JSON 输入已经更正,下面的 jq 过滤器似乎满足要求,例如:
.categories[].categories[].categories[]
这会产生一个 JSON 对象流,开始:
{
"id": "1.1.1",
"name": "Commercial Trucks"
}
{
"id": "1.1.2",
"name": "Convertible"
}
推荐阅读
- flutter - 未来的建设者将长度返回为空
- c - 在结构中动态输入值并打印这些值
- jquery - 在文本字段下获取日期选择器
- android - Android GitLab runner CI using Docker with KVM return INFO: Your CPU does not support KVM extensions
- dask - 尝试使用 gcsfs 写入 Google Cloud 时出现“块写入低于最小大小”
- django - 如何在 Django 相关字段查询中执行天数计算
- uefi - AllocatePages 将内存类型的 EFI_INVALID_PARAMETER 返回为 EfiConventionalMemory?
- wix - 在“产品:*”部分中未解决对符号“属性:VS2019DEVENV”的引用
- firebase - 错误:没有名为“合并”的命名参数
- android - 无法使用毕加索从 URI 加载图像