问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Python下json报错?

发布网友 发布时间:2022-04-26 11:08

我来回答

3个回答

懂视网 时间:2022-04-18 22:56

这篇文章主要介绍了Python json 错误xx is not JSON serializable解决办法的相关资料,需要的朋友可以参考下

Python json 错误xx is not JSON serializable解决办法

在使用json的时候经常会遇到xxx is not JSON serializable,也就是无法序列化某些对象。经常使用django的同学知道django里面有个自带的Encoder来序列化时间等常用的对象。其实我们可以自己定定义对特定类型的对象的序列化,下面看下怎么定义和使用的。


#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
#json_extention 
#2014-03-16 
#copyright: orangleliu 
#license: BSD 
 
''''' 
python中dumps方法很好用,可以直接把我们的dict直接序列化为json对象 
但是有的时候我们加了一些自定义的类就没法序列化了,这个时候需要 
自定义一些序列化方法 
 
参考: 
http://www.gxlcms.com/ 
 
例如: 
In [3]: from datetime import datetime 
 
In [4]: json_1 = {'num':1112, 'date':datetime.now()} 
 
In [5]: import json 
 
In [6]: json.dumps(json_1) 
--------------------------------------------------------------------------- 
TypeError   Traceback (most recent call last) 
D:devsoftspython2.7libsite-packagesdjangocoremanagementcommandsshell.py 
c in <module>() 
----> 1 json.dumps(json_1) 
 
TypeError: datetime.datetime(2014, 3, 16, 13, 47, 37, 353000) is not JSON serial 
izable 
''' 
 
from datetime import datetime 
import json 
 
class DateEncoder(json.JSONEncoder ): 
 def default(self, obj): 
 if isinstance(obj, datetime): 
 return obj.str() 
 return json.JSONEncoder.default(self, obj) 
 
json_1 = {'num':1112, 'date':datetime.now()} 
print json.dumps(json_1, cls=DateEncoder) 
 
''''' 
输出结果: PS D:codepythonpython_abc> python .json_extention.py {"date": "2014-03-16 13:56:39.003000", "num": 1112} ''' #我们自定义一个类试试 class User(object): def init(self, name): self.name = name class UserEncoder(json.JSONEncoder): def default(self, obj): if isinstance(obj, User): return obj.name return json.JSONEncoder.default(self, obj) json_2 = {'user':User('orangle')} print json.dumps(json_2, cls=UserEncoder) ''''' PS D:codepythonpython_abc> python .json_extention.py {"date": "2014-03-16 14:01:46.738000", "num": 1112} {"user": "orangle"} '''

定义处理方法是继承json.JSONEncoder的一个子类,使用的时候是在dumps方法的cls函数中添加自定义的处理方法。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

热心网友 时间:2022-04-18 20:04

你的文件格式不是标准的json结构。
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
第一行就不满足json结构

热心网友 时间:2022-04-18 21:22

报错麻烦吧错误异常贴出来看看,很可能你的json内容不符合规范,建议先检查下。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
找专业防水队做完还漏水怎么维权 法院会受理房屋漏水造成的纠纷吗? 巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 冬笋炖腊肉的做法步骤图,冬笋炖腊肉怎么做 香菇炖腊肉的做法 纪录片《无尽攀登》的故事内容是什么? 腊肉炖白菜的做法窍门 近三年有哪些值得一看的反映人性的纪录片? 有哪些纪录片适合中学生看 有什么关于音乐励志的电影书籍或者纪录片呢? 腊肉怎么炖的做法 腊肉炖汤好吃 看励志电影或纪录片的读后感400字 适合初中生看的励志的,坚韧不拔的国产电影或者纪录片 有没有啥励志的纪录片呀,高中学霸啥啥经历呀,敢于追求理想等等励志影片的 腊肉怎样炖起来汤才清 你看过哪些值得推荐给年轻人的纪录片? 求推荐优秀纪录片,类似于“曾国藩”之类的,有点励志和教育后人的。 炖腊肉的做法,白萝卜炖腊肉怎么做好吃,白 关于励志的山村儿童纪录片,你有没有佳作推荐? 知识改变命运励志纪录片 儿童励志纪录片 求几部好看的励志片,最好是关于考试,高考的,纪录片也可以。 如何处理JSON中的特殊字符 有比较流行的 JSON 接口格式规范么 如何使用python处理带有Mongodb的不规则json数据 jsp里怎么把字符串转成json 要上三年级了有必要补作文吗?有机构推荐吗? 小学三年级需要补作文吗? 三年级语文作文怎么补? 有哪些好的方法,可以让三年级学生补作文? 小学几年级补作文好 三年级作文补习方法? 三年级的孩子补作文的话会不会太早了? 如何帮学生补习作文 三年级孩子作文写不好,怎么辅导? 小学三年级作文补习有效吗? 小学三年级作文要不要报辅导班来补习啊? 我儿子16岁,内裤穿个几天就脏、发黄,气味难闻,怎么回事? 我家孩子内裤老是有发黄的脏怎么办 墙面刷涂料容易出现发黄问题怎么办 内裤很脏分泌物发黄 内分泌物颜色偏黄,有点脏的感觉