今天要帮前端写一个小后台,就是读取数据然后转成json送给他,让他去展示。数据很简单,但是处理的时候遇到了一个问题,文件中涉及到了中文的处理,每次处理完写的json格式就是ASCII码,完全没办法用。代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
# -*- coding: utf-8 -*-
import json
import codecs
f = codecs. open ( 'data.txt' , 'r' , 'utf-8' )
content = json.load(f)
print content[ 0 ][ 'id' ]
jsdata = json.dumps(content, sort_keys = True , indent = 4 )
f.close()
j = codecs. open ( 'test.json' , 'w' )
j.write(jsdata)
j.close()
|
网上查了一下,修改后的代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# -*- coding: utf-8 -*-
import json
import sys
reload (sys)
sys.setdefaultencoding( "utf-8" )
f = open ( 'data.txt' , 'r' )
content = json.load(f)
print content[ 0 ][ 'id' ]
# 拼接json数据,转码为非ascii编码
jsdata = json.dumps(content, sort_keys = True , indent = 4 , ensure_ascii = False )
f.close()
j = open ( 'test.json' , 'w' )
j.write(jsdata)
j.close()
|
以上这篇读写json中文ASCII乱码问题的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。