python json.dumps参数_json.dumps参数之解
通过help(“json”) 可以参考json库使用说明
编码后的json格式字符串紧凑输出,且无顺序,其dumps方法提供一些可选的参数,让输出的格式提高可读性。
(1)sort_keys是告诉编码器按照字典key排序(a到z)输出。
>>> import json
>>> data = [{'c': 'C', 'b':(1, 6), 'a': 'A'}]
>>> print(data)
[{'a': 'A', 'c': 'C', 'b': (1, 6)}]
>>> print(json.dumps(data,sort_keys=True))
[{"a": "A", "b": [1, 6], "c": "C"}]
(2)indent参数根据数据格式缩进显示,读起来更加清晰, indent的值,代表缩进空格式:
>>> print(json.dumps(data,sort_keys=True))
[{"a": "A", "b": [1, 6], "c": "C"}]
>>> print(json.dumps(data,sort_keys=True,indent=4))
[
{
"a": "A",
"b": [
1,
6
],
"c": "C"
}
]
(3)separators参数的作用是去掉‘,’ ‘:’后面的空格,在传输数据的过程中,越精简越好,冗余的东西全部去掉。
>>> print(json.dumps(data,sort_keys=True))
[{"a": "A", "b": [1, 6], "c": "C"}]
>>> print(json.dumps(data,sort_keys=True,separators=(',',':')))
[{"a":"A","b":[1,6],"c":"C"}]
(4)skipkeys参数,在encoding过程中,dict对象的key只可以是string对象,如果是其他类型,那么在编码过程中就会抛出ValueError的异常。skipkeys可以跳过那些非string对象当作key的处理.
>>> data2 = [{"a": "A", "b": [1,6], "c": "C", ('d',): 'D'}]
>>> print(json.dumps(data2,sort_keys=True,separators=(',',':')))
Traceback (most recent call last):
File "", line 1, in
File "/usr/lib64/python2.6/json/__init__.py", line 237, in dumps
**kw).encode(obj)
File "/usr/lib64/python2.6/json/encoder.py", line 367, in encode
chunks = list(self.iterencode(o))
File "/usr/lib64/python2.6/json/encoder.py", line 306, in _iterencode
for chunk in self._iterencode_list(o, markers):
File "/usr/lib64/python2.6/json/encoder.py", line 204, in _iterencode_list
for chunk in self._iterencode(value, markers):
File "/usr/lib64/python2.6/json/encoder.py", line 309, in _iterencode
for chunk in self._iterencode_dict(o, markers):
File "/usr/lib64/python2.6/json/encoder.py", line 268, in _iterencode_dict
raise TypeError("key {0!r} is not a string".format(key))
TypeError: key ('d',) is not a string
>>> print(json.dumps(data2,sort_keys=True,skipkeys=True))
[{"a": "A", "b": [1, 6], "c": "C"}]
(5)输出真正的中文需要指定ensure_ascii=False
如果无任何配置,或者说使用默认配置,
输出的会是‘凉凉’的ASCII字符吗,而不是真正的中文。
这是因为json.dumps 序列化时对中文默认使用的ascii编码。
>>> print(json.dumps('中国'))
"\u4e2d\u56fd"
>>> print(json.dumps('中国',ensure_ascii=False))
"中国"
python json.dumps参数_json.dumps参数之解相关推荐
- python json文件操作_JSON文件及Python对JSON文件的读写操作
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- python json dumps 自定义_Python json.dumps 自定义序列化操作
def login_ajax(request): if request.method == "GET": return render(request, 'login_ajax.ht ...
- python json dumps utf8_Python2操作JSON出现乱码的解决方案
其实刚刚写过一整篇Python编码问题的解决方案,由于JSON又是一种特殊案例(与库相关,与语言本身无关)所以就单独提出来说. 我们来看一个从网上获取json并又存到本地文件的例子 import re ...
- python json传参数可以传对象吗_廖雪峰的python系列教程(52)——IO编程之序列化...
序列化 在程序运行的过程中,所有的变量都是在内存中,比如,定义一个dict: d = dict(name='Bob', age=20, score=88) 可以随时修改变量,比如把name改成'Bil ...
- python json.loads json.dumps(ensure_ascii = False) 汉字乱码问题解决
python json.loads json.dumps(ensure_ascii = False) 汉字乱码问题解决 python 转换为json时候 汉字编码问题 2017年03月23日 18:5 ...
- python json.dumps慢_python json.dumps中文乱码问题解决
json.dumps(var,ensure_ascii=False)并不能解决中文乱码的问题 json.dumps在不同版本的Python下会有不同的表现, 注意下面提到的中文乱码问题在Python3 ...
- [转载] python json 编码(dump/dumps:字典转化为json)、解码(load/loads:json转化为字典)
参考链接: Python-Json 2 : 使用json.load/loads读取JSON文件/字符串 python json 编码(dump/dumps:字典转化为json).解码(load/loa ...
- python json.dumps()有中文时乱码
python json.dumps()有中文时乱码 json.dumps() 把 Python 字典类型转换为 JSON 对象 import jsondata = {'a': 'adv. 如同,像-- ...
- python json模块rodas方法_json模块使用总结——Python
# 原创文章,未经允许请勿转载 通过Python的json模块,可以将字符串形式的json数据转化为字典,也可以将Python中的字典数据转化为字符串形式的json数据. 之前使用这个模块时,都是随用 ...
最新文章
- C#中 ??、 ?、 ?: 、?.、?[ ] 问号
- 微信浏览器禁止app下载链接的两种处理方法
- 洛谷 P2046 BZOJ 2007 海拔(NOI2010)
- java调用wvsc.exe_c语言 函数的调用方法
- linux 故障注入_用软件中断实现的Linux内核故障注入方法
- 【HNOI2017】影魔
- OpenGL基础30:模板测试
- HDU-2037 今年暑假不AC
- PYTHON 爬虫 必应词典翻译爬取
- stm32之神州三号开发板 USB DFU 实现过程
- 天气预报:强势力的“.fans+体育”旋风正席卷全球!
- 优酷 IPv6 演进和实践指南
- 日本日野汽车因尾气数据造假问题受到调查
- java 图片加水印不失真_java实现图片加水印效果
- python开发工程师是什么级别_什么条件才能成为Python开发工程师
- Django请求和响应对象
- linux修改dns不生效,Linux 临时修改和永久修改DNS的方法
- IOS面试攻略(1.0)
- matlab坐标系无穷大,在 Matlab 中无穷大用 _______________ 表示
- 前端开源库 CDN 加速
热门文章
- 为什么谈及硬件,必言软件?软硬件协同让开源世界“阴阳调和”
- Rancher获4000万美元D轮融资,推动计算无处不在
- 2019 谷歌年度搜索关键词揭晓,技术宅的英雄梦!
- 分析了 3000 份 Bug 记录,可以发现什么?
- 你的代码,“拯救”过多少人?
- 性能比 GPU 高 100 倍!首款可编程忆阻器 AI 计算机面世
- “敏捷项目管理就是胡闹!”
- 5G 商用时,我们所处的智能城市会是什么样?
- 当我们谈论 996 的时候我们在谈论什么?
- 赛事招募 | 互联网创客马拉松开show啦~比武招APP