python打印结果json格式化
时间: 2023-09-29 22:05:30 浏览: 50
要将Python中的结果以JSON格式进行格式化打印,可以使用`json`模块。下面是一个示例代码:
```python
import json
result = {"name": "John", "age": 30, "city": "New York"}
formatted_result = json.dumps(result, indent=4)
print(formatted_result)
```
这里使用`json.dumps()`函数将`result`字典转换为JSON字符串,并通过设置`indent`参数为4来指定输出的缩进格式。然后通过`print()`函数打印格式化后的结果。运行以上代码,将会得到一个格式化后的JSON字符串作为输出。
相关问题
python 格式化打印json
你可以使用 Python 中的 `json` 库和字符串格式化操作符 `%` 来格式化打印 JSON 数据。下面是示例代码:
```python
import json
data = {'name': 'Alice', 'age': 20, 'hobbies': ['reading', 'swimming']}
# 使用 json.dumps() 将字典转换为 JSON 格式的字符串
json_str = json.dumps(data, indent=4)
# 使用字符串格式化操作符 % 打印格式化后的 JSON 数据
print('Formatted JSON data:\n%s' % json_str)
```
在上面的代码中,`json.dumps()` 将字典 `data` 转换为 JSON 格式的字符串,并使用 `indent` 参数指定了每个子项缩进的空格数。然后使用字符串格式化操作符 `%` 将格式化后的 JSON 数据打印出来。
python 多层嵌套json格式化
在 Python 中,可以使用 json 模块来处理 JSON 数据。如果 JSON 数据中有多层嵌套,可以使用递归函数来进行格式化处理。下面是一个示例代码:
```python
import json
def format_json(data):
if isinstance(data, dict):
return {k: format_json(v) for k, v in data.items()}
elif isinstance(data, list):
return [format_json(item) for item in data]
elif isinstance(data, str):
try:
json.loads(data)
return json.loads(data)
except ValueError:
return data
else:
return data
json_data = {
"name": "John",
"age": 30,
"address": {
"street": "123 Main St",
"city": "Anytown",
"state": "CA"
},
"hobbies": ["reading", "movies", "sports"]
}
formatted_data = format_json(json_data)
print(json.dumps(formatted_data, indent=4))
```
输出结果:
```
{
"name": "John",
"age": 30,
"address": {
"street": "123 Main St",
"city": "Anytown",
"state": "CA"
},
"hobbies": [
"reading",
"movies",
"sports"
]
}
```
在上面的代码中,我们定义了一个 `format_json` 函数来递归处理 JSON 数据。如果数据是一个字典类型,我们就对每个键值对进行递归处理;如果数据是一个列表类型,我们就对每个元素进行递归处理;如果数据是一个字符串类型,我们就尝试将其解析为 JSON 格式,如果可以解析成功,我们就对解析后的数据进行递归处理,否则就直接返回原字符串;对于其他类型的数据,我们直接返回原值。最后,我们使用 `json.dumps` 函数将处理后的数据输出为字符串,并设置缩进为 4 个空格,以获得格式化后的 JSON 数据。