Python / PySpark解析带有编号属性的JSON字符串

时间:2019-07-01 01:46:20

标签: python json pyspark associative-array numbered-list

我需要以不同于明文(例如镶木地板)的某种文件格式存储如下所示的JSON字符串:

{
  "vidName": "Foo",
  "vidInfo.0.size.length": 10,
  "vidInfo.0.size.width": 10,
  "vidInfo.0.quality": "Good",
  "vidInfo.1.size.length": 7,
  "vidInfo.1.size.width": 3,
  "vidInfo.1.quality": "Bad",
  "vidInfo.2.size.length": 10,
  "vidInfo.2.size.width": 2,
  "vidInfo.2.quality": "Excelent"
}

vidInfo的索引没有已知界限(可以是10、20)。因此,我想要在数组中包含vidInfos,或者将此类JSON对象分解为多个较小的对象。

我发现了这个问题:PHP JSON parsing (number attributes?) 但这是我不太了解的PHP。而且我不确定它是否与我所需要的相同。

中间数据应如下所示:

{
  "vidName": "Foo",
  "vidInfo": [
    {
      "id": 0,
      "size": {
        "length": 10,
        "width": 10
      },
      "quality": "Good"
    },
    {
      "id": 1,
      "size": {
        "length": 7,
        "width": 3
      },
      "quality": "Bad"
    },
    {
      "id": 2,
      "size": {
        "length": 10,
        "width": 2
      },
      "quality": "Excelent"
    }
  ]
}

或类似这样:

{
  "vidName": "Foo",
  "vidInfo": [
    {
      "size": {
        "length": 10,
        "width": 10
      },
      "quality": "Good"
    },
    {
      "size": {
        "length": 7,
        "width": 3
      },
      "quality": "Bad"
    },
    {
      "size": {
        "length": 10,
        "width": 2
      },
      "quality": "Excelent"
    }
  ]
}

我被困住了,需要一些提示才能继续。 能否请你帮忙? 非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我发现了这个可以解决问题的库https://github.com/amirziai/flatten

NO