Python各种坑--JSON.load成Unicode

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python各种坑--JSON.load成Unicode相关的知识,希望对你有一定的参考价值。

参考技术A Python自带的Json库会把json文件load成Unicode对象。如果想要变成str对象的话,就要自己去encode。
祭出大法...

这个函数递归的把list和dict里的Unicode对象encode成str。当然,我不觉得这是the right way。使用yaml里的json来代替官方自带的json可能更好。

python json.load和json.loads的区别

load和loads都是实现“反序列化”,区别在于(以Python为例):

  • loads针对内存对象,即将Python内置数据序列化为字串

    如使用json.dumps序列化的对象d_json=json.dumps({‘a‘:1, ‘b‘:2}),在这里d_json是一个字串‘{"b": 2, "a": 1}‘

    d=json.loads(d_json)  #{ b": 2, "a": 1},使用load重新反序列化为dict

  • load针对文件句柄

    如本地有一个json文件a.json则可以d=json.load(open(‘a.json‘))

    相应的,dump就是将内置类型序列化为json对象后写入文件

以上是关于Python各种坑--JSON.load成Unicode的主要内容,如果未能解决你的问题,请参考以下文章

python基础datetime类各种坑

json模块 dumps,dump,loads,load

json

pyinstaller打包exe程序各种坑!!!

Python学习—json模块

iOS 获取本地文件的各种坑