json知识整理
来源:互联网 发布:曲无忆捏脸数据 编辑:程序博客网 时间:2024/06/14 05:41
1、json字符串转为字典
json.load / json.loads
两个方法功能类似,可选参数也相同,最大的区别在于,json.load方法接受的输入,即第一个参数,是包含json数据的文件对象,如open方法的返回对象,
json.loads接受的输入是json字符串,而非文件对象。从输入类型的区别也可以看出两者的使用场合。
可选参数包括是否需要转换整型、浮点型等数值的参数,还有一些复杂的功能。
2、字典转换为json
json.dump / json.dumps
对应于load和loads,dump的第一个参数是对象字典,第二个参数是文件对象,可以直接将转换后的json数据写入文件,dumps的第一个参数是对象字典,其余都是可选参数。dump和dumps的可选参数相同,这些参数都相当实用,现将用到的参数记录如下:
ensure_ascii 默认为True,保证转换后的json字符串中全部是ascii字符,非ascii字符都会被转义。如果数据中存在中文或其他非ascii字符,最好将ensure_ascii设置为False,保证输出结果正常。
indent 缩进,默认为None,没有缩进,设置为正整数时,输出的格式将按照indent指定的半角空格数缩进,相当实用。
separators 设置分隔符,默认的分隔符是(',', ': '),如果需要自定义json中的分隔符,例如调整冒号前后的空格数,可以按照(item_separator, key_separator)的形式设置。
sort_keys 默认为False,设为True时,输出结果将按照字典中的key排序。
>>> import json>>> a = {}>>> a['1'] = 2>>> a['ad'] = 'ertwer'>>> a['02'] = 'oierte'>>> a[2] = [1, 'a']>>> a['non_ascii'] = "青团 》 熊猫 ?">>> a['ss'] = a.copy()>>> print(json.dumps(a)) # 默认参数输出,无缩进,中文字符都被转义{"2": [1, "a"], "02": "oierte", "ss": {"ad": "ertwer", "2": [1, "a"], "02": "oierte", "1": 2, "non_ascii": "\u9752\u56e2 \u300b \u718a\u732b \uff1f"}, "1": 2, "ad": "ertwer", "non_ascii": "\u9752\u56e2 \u300b \u718a\u732b \uff1f"}>>> >>> print(json.dumps(a, ensure_ascii=False, indent=4)) # 四空格缩进,中文字符全部正常{ "2": [ 1, "a" ], "02": "oierte", "ss": { "ad": "ertwer", "2": [ 1, "a" ], "02": "oierte", "1": 2, "non_ascii": "青团 》 熊猫 ?" }, "1": 2, "ad": "ertwer", "non_ascii": "青团 》 熊猫 ?"}>>>
0 0
- JSON知识整理
- json知识整理
- Java知识整理(二十三)之json
- 知识整理
- 知识整理
- 知识整理
- JSON知识
- JSON知识
- json整理
- Json整理
- Json整理
- Json整理
- 【JSON】 JSON 整理
- 新应用的知识整理-通过JSON格式数据与服务器通信
- 反射知识整理
- RUP知识整理
- VSTS知识整理
- 海关发票知识整理
- Tensorflow系列二:入门
- flex布局实现双飞翼
- 验证微信号的正则表达式
- 个人博客导航帖
- 不知道作文怎么写?看一看MindManager在文章写作方面的应用
- json知识整理
- Http请求中Content-Type讲解以及在Spring MVC中的应用
- 判断浏览器版本、系统型号等
- OkIo介绍
- 生成不重复的随机数序列
- MySQL体系结构和主从架构
- Oracle数据库(权限、用户、角色、基本知识介绍)
- 关于苹果提交的坑-90168 -90173 -22421
- 翻转字符串