python转json中文乱码_python 序列化成json 乱码问题的解决
今天又网友问到, 在python 下将一个对象序列化成 json 时经常会报乱码, 甚至会报错, 的确会出现这种情况,因为在python 中默认使用的是 simplejson 库。但其实是可以通过配置选项解决的, 下面是我写的一个公共的转换对象到json与从json 转换到对象的公共类:# -*- coding=utf-8 -*-
import json
from datetime import date, datetime
import decimal
class DecimalEncoder(json.JSONEncoder):
def default(self, o):
if isinstance(o, decimal.Decimal):
return float(o)
return super(DecimalEncoder, self).default(o)
class JsonUtil:
def __default(self,obj):
if isinstance(obj, datetime):
return obj.strftime('%Y-%m-%d %H:%M:%S')
elif isinstance(obj, date):
return obj.strftime('%Y-%m-%d')
else:
raise TypeError('%r is not JSON serializable' % obj)
def parseJsonObj(self,obj):
jsonstr=json.dumps(obj,default=self.__default,ensure_ascii=False) #cls=DecimalEncoder
return jsonstr
def parseJsonString(self,jsonstring):
obj=json.loads(jsonstring)
return obj
if __name__ == '__main__':
pass
在使用的时候,你可以这样使用:
jsonUtil=JsonUtil()
retstr=jsonUtil.parseJsonObj(retobj)
这里的 retobj 是一个 python 字典dict 对象. 采用这种方式,就可以避免报错和乱码了,其实很重要的一点大家可以发现就是这里: jsonstr=json.dumps(obj,default=self.__default,ensure_ascii=False), ensure_ascee=False.
python转json中文乱码_python 序列化成json 乱码问题的解决相关推荐
- python json解析方法_Python 中的 JSON 方式讲解
Python的dict对象可以直接序列化为JSON的{},不过,很多时候,我们更喜欢用class表示对象,比如定义Student类,然后序列化,代码如下:import json class Stude ...
- java 序列化成xml文件_将Java对象序列化成JSON和XML格式
1.先定义一个Java对象Person: public class Person { String name; int age; int number; public String getName() ...
- python 数据库查询序列化_python-将sqlalchemy类序列化为json
我正在尝试将sqlalchemy查询的结果(列表)序列化为json. 这是课程: class Wikilink(Base): __tablename__='Wikilinks' __table_arg ...
- Java对象序列化乱码6_对象序列化成字符串乱码解决
问题描述: 将一个对象序列化成字符串后,字符串是乱码的,并且反序列化报错. 代码如下: import com.alibaba.fastjson.JSONObject; import org.sprin ...
- [原创]一种自动地将继承自NSObject的自定义类序列化成JSON的方法
最近因为项目需求,需要将一些自定义的类序列化为JSON,网上有很多好用的第三方序列化工具,但都只能序列化一些基本类型,如NSNumber,NSString与NSDictionary这种,没有一种第三方 ...
- python json序列化对象_Python学习之json序列化
一.什么是序列化 在我们存储数据或者网络传输数据的时候,需要对我们的对象进行处理,把对象处理成方便存储和传输的数据格式.这个过程叫序列化,不同的序列化结果也不同,但目的是一样的,都是为了存储和传输 在 ...
- 对象序列化成JSON格式
json是一种轻量级的数据交换语言,将对象序列化为json格式,可以在网络上传输,且各个平台都有成熟的工具,可以很快的将json反序列化为对应语言所需要的格式. 将java对象序列化为json格式关键 ...
- python安装文件乱码_python输出到文件乱码如何解决
python代码文件的编码 py文件默认是ASCII编码,中文在显示时会做一个ASCII到系统默认编码的转换,这时就会出错:SyntaxError: Non-ASCII character.需要在代码 ...
- python 字符串去重从小到大排列_python 序列(字符串、字符串、元组、集合、字典)...
运行环境:python3.8 Anaconda 字符串 在python中,单个字符就是字符串. 字符串不可改变,使用单引号' ',双引号" ",三引号'" "' ...
最新文章
- Cuda Stream流 分析
- VS2010 LNK1123:转换到 COFF期间失败:文件无效或损坏”的解决方法
- 思科交换机和路由器的远程配置
- 东鹏马桶上水下水之谜
- SAP UI5页面动画效果的实现,实际借用了jQuery的库文件
- 【原创】C#中的抽象类(abstract class)和接口(interface)的比较
- baidumap vue 判断范围_懂一点前端—Vue快速入门
- data layui table 排序_浅谈layui中table的sort排序
- MongoDB(五)-- 副本集(replica Set)
- 关于ASP.NET与CLR相互关系的一些总结
- JadClipse反编译工具在MyEclipse中的安装(先看Eclipse的配置方式)
- Linux命令解释之useradd,userdel,usermod
- Tomcat6升级到Tomcat9
- Python爬虫系列(二)——Python爬虫批量下载百度图片
- 计算机如何更改键盘设置在哪里设置,原神pc按键怎么改
- Java的中文转换拼音、五笔简码
- RST 和 Markdown
- 智能照明控制系统在城市夜景照明工程中的应用
- Unity3D Linear和Gamma渲染
- 我滴python第一周笔记
热门文章
- outlook删除web邮件服务器,从Outlook中删除 Web 邮箱策略Exchange Online
- 苏宁大数据怎么运营_苏宁易购的经营模式
- python微信头像_转:20行Python代码给微信头像戴帽子
- Python爬虫实战:应用宝APP数据信息采集
- 《一段代码告诉你,Python的正则表达式怎么用》
- 数据结构与算法之-----二叉树(一)
- android 增删改查错误,安卓中使用HttpURLConnection进行增删改查操作(包括后端讲解)(一)...
- opencv批量灰度转换_OpenCV图像处理之常见的图像灰度变换
- 3P新产品开发管理实务
- mongorepository查询条件_Java操作MongoDB采用MongoRepository仓库进行条件查询 | 学步园...