最近几天我一直在与 Openrefine 合作,试图找出如何将 Google 数据表导出到 JSON 文件中。
我有以下数据想要导出到 JSON 文件。
id first name last name friends first name friends last name family first name family last name
1 James Brown Judy Garland Mary Brown
John Neverland Marlene Brown
Paul Garland Judy Brown
2 John Buller Amy Garland Francis Buller
Peter Flake John Buller
Jules Peter Judy Buller
我期望的 JSON 是:
{
"results": [
{
"id": 1,
"firstName": "James",
"lastName": "Brown",
"has": {
"friends": [
{
"firstName": "Judy",
"lastName": "Garland"
},
{
"firstName": "John",
"lastName": "Neverland"
},
{
"firstName": "Paul",
"lastName": "Garland"
}
],
"family": [
{
"firstName": "Mary",
"lastName": "Brown"
},
{
"firstName": "Marlene",
"lastName": "Brown"
},
{
"firstName": "Judy",
"lastName": "Brown"
}
]
}
},
{
"id": 2,
"firstName": "John",
"lastName": "Buller",
"has": {
"friends": [
{
"firstName": "Amy",
"lastName": "Garland"
},
{
"firstName": "Peter",
"lastName": "Flake"
},
{
"firstName": "Jules",
"lastName": "Peter"
}
],
"family": [
{
"firstName": "Francis",
"lastName": "Buller"
},
{
"firstName": "John",
"lastName": "Buller"
},
{
"firstName": "Judy",
"lastName": "Buller"
}
]
}
}
]
}
到目前为止我已经尝试了几种方法:
1) 使用 excel-to-json 但它仅限于单个嵌套,并且对列名称有一些限制
2) 使用 Openrefine 和模板工具,但我遇到了几个问题: - 虽然它们在 openrefine 中被检测为记录,但您导出的是行而不是记录,因此它将导出 6 行到 JSON,其中 4 行包含空数据 - 如果我尝试填写列,它也会将 6 行导出到 JSON,其中 4 行有重复项,从而失去该人与其家人和 friend 之间的关系
任何帮助将不胜感激,因为我正在尝试导出大约 150,000 条必须采用这种 JSON 格式的此类记录。
最佳答案
OpenRefine 仅支持一层嵌套。您可能需要使用编程语言或 ETL 解决方案来拥有嵌套元素。
关于etl - Openrefine 与模板配合使用以将 JSON 导出为记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31328001/