- json.dumps():dict转成str
- json.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)
"中国"
>>>