我有一个以换行符分隔的 JSON 文件。是否可以使用类似的工具生成模式jq?我过去取得了一些成功,jq但还没有做过这么复杂的事情。
这是我的目标架构格式:https ://cloud.google.com/bigquery/docs/nested-repeated#example_schema 。请注意,嵌套是用fields父级的键处理的,数组是用"mode": "repeated". (非常感谢任何有关某种模式的帮助,然后我可以按摩成这种格式)。
从上面的链接复制,我想从中生成:
{"id":"1","first_name":"John","last_name":"Doe","dob":"1968-01-22","addresses":[{"status":"current","address":"123 First Avenue","city":"Seattle","state":"WA","zip":"11111","numberOfYears":"1"},{"status":"previous","address":"456 Main Street","city":"Portland","state":"OR","zip":"22222","numberOfYears":"5"}]}
...至...
[
{
"name": "id",
"type": "STRING",
"mode": "NULLABLE"
},
{
"name": "first_name",
"type": "STRING",
"mode": "NULLABLE"
},
{
"name": "last_name",
"type": "STRING",
"mode": "NULLABLE"
},
{
"name": "dob",
"type": "DATE",
"mode": "NULLABLE"
},
{
"name": "addresses",
"type": "RECORD",
"mode": "REPEATED",
"fields": [
{
"name": "status",
"type": "STRING",
"mode": "NULLABLE"
},
{
"name": "address",
"type": "STRING",
"mode": "NULLABLE"
},
{
"name": "city",
"type": "STRING",
"mode": "NULLABLE"
},
{
"name": "state",
"type": "STRING",
"mode": "NULLABLE"
},
{
"name": "zip",
"type": "STRING",
"mode": "NULLABLE"
},
{
"name": "numberOfYears",
"type": "STRING",
"mode": "NULLABLE"
}
]
}
]
(参考BigQuery 自动检测不适用于不一致的 json?,表明我不能使用 BigQuery 自动检测,因为项目不一样。我相当有信心可以手动将模式合并在一起以创建超集)