Javascript

Python 字典和json相互转换

本文主要是介绍Python 字典和json相互转换,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

示例中使用了一种新的字符格式化输出格式,最后会有说明

  • 字典转为json
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json

dic1 = {
    'name': '张三',
    'id': [119, 123]
}

# 字典转为json
result_1 = json.dumps(dic1, ensure_ascii=False)
print(f'result_1类型:{type(result_1)} 内容:{result_1}')

输出

result_1类型:<class 'str'> 内容:{"name": "张三", "id": [119, 123]}
  • 字典转为json后存入文件
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json

dic1 = {
    'name': '张三',
    'id': [119, 123]
}

# 字典转为json后存入文件
path = 'demo.json'
with open(path, 'w', encoding='utf8') as f:
    json.dump(dic1, f, ensure_ascii=False)

demo.json内容

{"name": "张三", "id": [119, 123]}
  • json转为字典
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json

dic1 = {
    'name': '张三',
    'id': [119, 123]
}

# 字典转为json
result_1 = json.dumps(dic1, ensure_ascii=False)
print(f'result_1类型:{type(result_1)} 内容:{result_1}')

# json转为字典
result_2 = json.loads(result_1)
print(f'result_2类型:{type(result_2)} 内容:{result_2}')

输出

result_1类型:<class 'str'> 内容:{"name": "张三", "id": [119, 123]}
result_2类型:<class 'dict'> 内容:{'name': '张三', 'id': [119, 123]}
  • 读取json文件,转为字典
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json

path = 'demo.json'
# 读取json文件,转为字典
with open(path, 'r', encoding='utf8') as f:
    content = json.load(f)
    print(f'content类型:{type(content)} 内容:{content}')
  • 扩展:Python字符格式化输出说明
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# TODO Python2.6 版本推出了使用 format()方法对字符串格式化;解决了“%格式字符串”的局限性
# TODO 自Python3.6 版本开始推出了使用 f 字符串对字符串格式化,它解决了format代码冗长的问题
str1 = '格式化输出说明'
print('这是1: %s' % str1)
print('这是2: {}'.format(str1))
print(f'这是3: {str1}')

输出

这是1: 格式化输出说明
这是2: 格式化输出说明
这是3: 格式化输出说明
这篇关于Python 字典和json相互转换的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!