查了下资料:
Python内置的json工具默认会将unicode码转义;但很多时候,这并不是我们所期望的;如下所示:
>>> user = {"id": 101, "name": "张三"}
>>> print(json.dumps(user))
{"id": 101, "name": "\u5f20\u4e09"}
>>> print(json.dumps(user, ensure_ascii=False))
{"id": 101, "name": "张三"}
我们可以看到,第一次执行dumps语句,张三
在序列化时被转换成了\u5f20\u4e09
,那么如何让它显示成张三
呢?使用第二次json.dumps(user, ensure_ascii=False)
问题解决了,如果你有更好的办法,欢迎在下方留言!
参考链接:https://blog.csdn.net/lpw_cn/article/details/103876008
我的json数据dumps后存入数据库,发现中文被转义了查了下资料:Python内置的json工具默认会将unicode码转义;但很多时候,这并不是我们所期望的;如下所示:>>> user = {"id": 101, "name": "张三"}>>> print(json.dumps(user)){"id": 101, "name": "\u5...
QQ学习交流群(new): 811792998
json.dumps中文被转义问题
今天在将查询sql结果进行json化格式化后,发现中文被转义成了十六进制,啥encoding、encode('utf-8)、encode('utf-8')等常用的方法都没用。。
如何解决
首先要刨根问底找到原因,为何被转义
直接看下json.dumps方法实现的源码,看下下面的方法定义的一些参数
1. Python 3已经将unicode作为默认编码
2. Python 3中的json在做dumps操作时,会将中文转换成unicode编码,并以16进制方式存储,再做逆向操作时,会将unicode编码转换回中文
这就解释了,为什么json.dumps操作后,得到的字符串是\uXXXX。
谢谢@benpaodexiaowoniu。
在python3中,e...
我们在用python处理字符串的时候,难免会遇到被转义的情况。比如我们定义一个字典类型的变量:
data = {“datas”: ‘[{“name”: “菜鸟”}]’}
我们使用json的dumps方法将这个字典转为字符串,
res = json.dumps(data, ensure_ascii=False)
再打印这个res的时候会发现输出的字符串里包含有转义字符,即反斜杠\:
{“datas”: “[{\“name\”: \“菜鸟\”}]”}
这里有两种方法可以去除反斜杠,首先第一种比较简单暴力,直接:
user = {"id": 101, "name": "张三"}
print(json.dumps(user))
{"id": 101, "name": "\u5f20\u4e09"}
print(json.dumps(user, ensure_ascii=False))
{"id": 101, "name": "...
[url]http://bbs.9ria.com/viewthread.php?tid=75393&extra=page%3D1%26amp;orderby%3Ddateline%26amp;filter%3D2592000[/url]
json解码后的汉字都是这种 “\u5f20\u4e09” 类型,如何将其显示出来呢?
弄过一个将 \uxxx\wxxx的字符串转换为中文字符...
Python3 已经将Unicode作为默认编码,进行操作;
Python3 中的json在做dumps操作时,会将中文自动转换成Unicode编码,然后再做逆向操作时,会将Unicode编码重新转换回中文。
二、解决方案
Python3中,json.dumps中有一个参数:ensure_ascii,可以对自动转换操作进行控制,该参数默认值为True,所以进行dumps时如果无此参数,就默认进行转换。在后面加上该参数,并设置为False,该自动转换就被停止,就可以正常显示中文了
a = j
json.dumps和json.dump都是Python中的JSON编码函数,用于将Python对象转换为JSON格式的字符串或将Python对象直接写入JSON格式的文件中。
其中,json.dumps函数将Python对象转换为JSON格式的字符串,而json.dump函数则将Python对象直接写入JSON格式的文件中。两者的区别在于,json.dumps返回一个字符串,而json.dump直接将数据写入文件中,不返回任何值。
使用json.dumps和json.dump函数可以方便地将Python对象转换为JSON格式,以便在网络传输或存储时使用。