1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【Json】json.dumps和 json.loads 区别及ensure_ascii中文显示

【Json】json.dumps和 json.loads 区别及ensure_ascii中文显示

时间:2023-05-04 04:13:45

相关推荐

【Json】json.dumps和 json.loads 区别及ensure_ascii中文显示

json.dumps():dict转成strjson.loads():str转成dict

也就是说,一个是将字典转换为字符串,一个是将字符串转换为字典

import json TestTarget = {1:'A', 2:2, "jimy":"666",'tom':888} # test json.dumps print type(TestTarget), TestTarget json_str = json.dumps(TestTarget) print "json.dumps(TestTarget) return:" print type(json_str), json_str # test json.loads print "json.loads(str) return" json_dict = json.loads(json_str) print type(json_dict), json_dict

结果:

<type 'dict'> {1: 'A', 2: 2, 'jimy': '666', 'tom': 888}json.dumps(TestTarget) return:<type 'str'> {"1": "A", "2": 2, "jimy": "666", "tom": 888}json.loads(str) return<type 'dict'> {u'1': u'A', u'2': 2, u'jimy': u'666', u'tom': 888}

***关于json中文编码

在使用json.dumps时要注意一个问题:

>>> import json>>> print json.dumps('中国')"\u4e2d\u56fd"

输出的会是

'中国' 中的ascii 字符码,而不是真正的中文。

这是因为json.dumps 序列化时对中文默认使用的ascii编码,想输出真正的中文需要指定ensure_ascii=False:

>>> import json>>> print json.dumps('中国')"\u4e2d\u56fd">>> print json.dumps('中国',ensure_ascii=False)"中国">>>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。