ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python 字典和json相互转换

2021-08-01 16:02:52  阅读:145  来源: 互联网

标签:Python json result print 119 id 字典


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

  • 字典转为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,result,print,119,id,字典
来源: https://blog.csdn.net/CSDN_Mr_H/article/details/119298986

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有