如何使用python以嵌套的json格式打印值

时间:2015-10-29 05:57:03

标签: python json amazon-cloudwatch

这是我的代码:

if m.namespace in metric_config.keys():
 for d in m.dimensions.keys():
  if d == metric_config[m.namespace]["dimension"]:
    if m.name in metric_config[m.namespace]["metrics"].keys():
      if len(metric_config[m.namespace]["metrics"][m.name]) > 0:
        metric["Namespace"] = m.namespace
        metric["MetricName"] = m.name
        dimension["Value"] = m.dimensions[d][0]
        metric["Statistics"] = metric_config[m.namespace]["metrics"][m.name][0]

if metric != {} and dimension != {}:
  cwatch_config["metrics"].append(metric)
  cwatch_config['Dimensions'].append(dimension)

此代码不是在公制列中打印维度,我想以所需格式打印它,如下所述。

"metricsConfig": {
  "metrics": [
  {
    "Namespace": "AWS/RDS",
    "Statistics": [
      "Average"
    ],
    "Dimensions": [
      {
        "Name": "DBInstanceIdentifier",
      }
    ]
  }
],

}

1 个答案:

答案 0 :(得分:0)

如果已将数据解析为JSON对象j,则可以使用json.dumps(j)将其转换为JSON字符串。可选的indent参数允许您指定嵌套元素的格式:

>>> print(json.dumps(j, indent=2))
{
  "metricsConfig": {
    "metrics": [
      {
        "Namespace": "AWS/RDS",
        "Statistics": [
          "Average"
        ],
        "Dimensions": [
          {
            "Name": "DBInstanceIdentifier"
          }
        ]
      }
    ]
  }
}