小编Roh*_*haq的帖子

如何使用JSON模块进行漂亮打印时实现自定义缩进?

所以我使用的是Python 2.7,使用该json模块对以下数据结构进行编码:

'layer1': {
    'layer2': {
        'layer3_1': [ long_list_of_stuff ],
        'layer3_2': 'string'
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是我使用漂亮的打印方式打印出来,如下所示:

json.dumps(data_structure, indent=2)
Run Code Online (Sandbox Code Playgroud)

哪个好,除了我要缩进所有内容,除了内容"layer3_1"- 这是一个列出坐标的大量字典,因此,在每个上面设置一个值使得漂亮的打印创建一个包含数千行的文件,示例如下:

{
  "layer1": {
    "layer2": {
      "layer3_1": [
        {
          "x": 1,
          "y": 7
        },
        {
          "x": 0,
          "y": 4
        },
        {
          "x": 5,
          "y": 3
        },
        {
          "x": 6,
          "y": 9
        }
      ],
      "layer3_2": "string"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我真正想要的是类似于以下内容:

{
  "layer1": {
    "layer2": {
      "layer3_1": [{"x":1,"y":7},{"x":0,"y":4},{"x":5,"y":3},{"x":6,"y":9}],
      "layer3_2": "string"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我听说可以扩展json模块:是否可以将其设置为仅在"layer3_1"对象内部时关闭缩进?如果是这样,有人请告诉我怎么样?

python json indentation

31
推荐指数
4
解决办法
2万
查看次数

标签 统计

indentation ×1

json ×1

python ×1