2

最近几天我一直在使用 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 行有重复项,从而失去该人与其家人和朋友之间的关系

任何帮助将不胜感激,因为我正在尝试导出大约 150,000 条这种类型的记录,这些记录必须采用这种 JSON 格式。

4

1 回答 1

2

OpenRefine 只支持一层嵌套。您可能需要使用编程语言或 ETL 解决方案才能拥有嵌套元素。

于 2015-07-11T16:15:58.180 回答