在上一家公司时,主要做文本挖掘,而且当时数据库是MongoDB数据库,都是中文的bson这种类json数据,当时也踩了不少坑,不过总算做好了,在这梳理了一下那些曾经入的坑。
![python3解决json数据中有中文的读写问题](http://p2.ttnews.xyz/loading.gif)
python3 默认的是UTF-8格式
向txt文件写中文的时候也要注意在打开的时候加上encoding='utf-8',不然也是乱码,如下:
with open('result.txt', 'a+', encoding='utf-8') as f:
![python3解决json数据中有中文的读写问题](http://p2.ttnews.xyz/loading.gif)
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。
注:json 必须是双引号"",才可以loads 成python对象,单引号会报错,而python中单引号和双引号都可以表示一个字符串,没有严格限制,不过在一个文本中最好单独使用一种
JSON在python中分别由list和dict组成。
Json模块提供了四个方法:dumps、dump、loads、load
dumps 和 loads
打开json文件是要注意,要加上encoding='utf-8',不然会显示成乱码:
with open('casedate.json', 'w', encoding='utf-8') as f:
loads:将字符串转换成python对象,如果传入的json字符串编码不是UTF-8,需要指定编码格式,如果是GB2312的话,那么久应该这样写;
dumps:将python对象转换成json字符串
Ensure_ascii,默认True, 如果dict内含有non-ASCII的中文字符,则会类似\\uXXXX的显示数据,设置成False后,就能正常显示
encoding,默认是UTF-8,用来设置生成的json数据的编码方式
dump和 load 处理的是文件而不是字符串
dump: 将python对象数据写入json文件中
load把json文件打开,并把字符串变成python数据类型
閱讀更多 愛數據的小司機 的文章
關鍵字: C语言 JSON JavaScript