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)"中国">>>