Python漂亮打印JSON

时间:2020-02-23 14:43:10  来源:igfitidea点击:

我们可以使用Python json模块来漂亮地打印JSON数据。

建议将json模块与JSON文件一起使用。
我们可以使用dumps()方法来获取漂亮的JSON字符串。

1. Python漂亮打印JSON字符串

import json

json_data = '[{"ID":10,"Name":"hyman","Role":"CEO"},' \
          '{"ID":20,"Name":"David Lee","Role":"Editor"}]'

json_object = json.loads(json_data)

json_formatted_str = json.dumps(json_object, indent=2)

print(json_formatted_str)

输出:

[
{
  "ID": 10,
  "Name": "hyman",
  "Role": "CEO"
},
{
  "ID": 20,
  "Name": "David Lee",
  "Role": "Editor"
}
]
  • 首先,我们使用json.loads()从json字符串创建json对象。

  • json.dumps()方法接受json对象,并返回JSON格式的字符串。
    indent参数用于定义格式化字符串的缩进级别。

2. Python漂亮打印JSON文件

让我们看看尝试打印JSON文件数据时会发生什么。
文件数据以漂亮的打印格式保存。

import json

with open('Cars.json', 'r') as json_file:
  json_object = json.load(json_file)

print(json_object)

print(json.dumps(json_object))

print(json.dumps(json_object, indent=1))

输出:

[{'Car Name': 'Honda City', 'Car Model': 'City', 'Car Maker': 'Honda', 'Car Price': '20,000 USD'}, {'Car Name': 'Bugatti Chiron', 'Car Model': 'Chiron', 'Car Maker': 'Bugatti', 'Car Price': '3 Million USD'}]
[{"Car Name": "Honda City", "Car Model": "City", "Car Maker": "Honda", "Car Price": "20,000 USD"}, {"Car Name": "Bugatti Chiron", "Car Model": "Chiron", "Car Maker": "Bugatti", "Car Price": "3 Million USD"}]
[
 {
"Car Name": "Honda City",
"Car Model": "City",
"Car Maker": "Honda",
"Car Price": "20,000 USD"
 },
 {
"Car Name": "Bugatti Chiron",
"Car Model": "Chiron",
"Car Maker": "Bugatti",
"Car Price": "3 Million USD"
 }
]