首页 > 解决方案 > 如何漂亮地打印json字符串,其值也是python中的json字符串

问题描述

我正在使用 python 的 json 模块来漂亮地打印一个 json 字符串,如下所示

"{"content" : "{"key" : "value"}","otherContent: "{"key2":"value"}"}"

我希望它在打印时看起来像这样

{ 
 c1: {
       key: value
     },
 c2: {
        key2: value
     }
}

或类似于这种格式的东西,我怎样才能做到这一点?

标签: pythonjsonpretty-print

解决方案


我不得不通过添加一些方括号来重新格式化您的 json,但这有效:

json_string = '{"content": [{"key": "value"}], "otherContent": [{"key2": "value"}]}'

loaded_json = json.loads( json_string )

print(json.dumps(loaded_json , sort_keys=True, indent=4))

输出:

{
    "content": [
        {
            "key": "value"
        }
    ],
    "otherContent": [
        {
            "key2": "value"
        }
    ]
}

推荐阅读