基础知识:
序列化——json.dumps()函数是将一个Python数据类型列表进行json格式的编码(可以这么理解,json.dumps()函数是将字典转化为json字符串)
反序列化——json.loads()函数是将json格式数据转换为字典(可以这么理解,json.loads()函数是将json字符串转化为字典)
python 2下使用json.loads往往会导致最终的结果编码是unicode,并不是我们想要的str型,如下所示:
test = {"name": "扎克伯格", "age":18}
print test
test_json = json.dumps(test, ensure_ascii=False) ——中文打印会默认为ASCII,所以显示Unicode,需要将ensure_ascii=False才会显示中文
print test_json
test1 = json.loads(test_json)
print test1
运行的结果是:
{'age': 18, 'name': '\xe6\x89\x8e\xe5\x85\x8b\xe4\xbc\xaf\xe6\xa0\xbc'}
{"age": 18, "name": "扎克伯格"}
{u'age': 18, u'name': u'\u624e\u514b\u4f2f\u683c'}
本文介绍了Python中json模块的序列化和反序列化操作。json.dumps()用于将Python对象转换为JSON格式的字符串,通过设置ensure_ascii参数可以避免Unicode显示。而json.loads()则将JSON格式的数据转换回Python字典。在Python2中,反序列化后的字符串可能是Unicode类型,需要额外处理。示例展示了如何使用这两个函数进行数据转换。

被折叠的 条评论
为什么被折叠?



