当前位置: 首页 > news >正文

转json报错:TypeError: Object of type int64 is not JSON serializable

错误:TypeError: Object of type 'int64' is not JSON serializable (或者float32)

在使用json格式保存数据时,经常会遇到xxx  is not JSON serializable,也就是无法序列化某些对象格式,我所遇见的是我使用了numpy时,使用了np的数据格式,写入data后,json.dumps(data)失败,我们可以自己定定义对特定类型的对象的序列化,下面看下怎么定义和使用关于np数据类型的自定义。

1.首先,继承json.JSONEncoder,自定义序列化方法。

import numpy as np


class NpEncoder(json.JSONEncoder):
    def default(self, obj):
        if isinstance(obj, np.integer):
            return int(obj)
        elif isinstance(obj, np.floating):
            return float(obj)
        elif isinstance(obj, np.ndarray):
            return obj.tolist()
        else:
            return super(NpEncoder, self).default(obj)

2.使用dumps方法(我们可以直接把dict直接序列化为json对象)加上 cls=NpEncoder,data就可以正常序列化了

json.dumps(data, cls=NpEncoder) 

其实,很简单,自定义一个序列化方法,然后dumps的时候加上cls=NpEncoder

注:pandas中报这个错误也可以使用

相关文章:

  • NVIDIA显卡架构
  • 解决You are using GPU version Paddle, but your CUDA device is not set properly
  • GDI详解
  • Jmeter 压测工具使用手册(完整版)
  • BitBlt(wingdi.h)
  • 位图是什么
  • DIB设备无关位图
  • CImage 类
  • CPaintDC 、CWindowDC、 CClientDC、 CDC的区别与联系
  • CWnd::Invalidate()用法
  • USB 协议分析之 HID 设备
  • XHR-XMLHttpRequest
  • 说说JSON和JSONP,也许你会豁然开朗,含jQuery用例
  • Windows CreateFont
  • SelectObject
  • 【node学习】协程
  • angular2 简述
  • IP路由与转发
  • Twitter赢在开放,三年创造奇迹
  • 从setTimeout-setInterval看JS线程
  • 前端相关框架总和
  • 深入浏览器事件循环的本质
  • 数据科学 第 3 章 11 字符串处理
  • 栈实现走出迷宫(C++)
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • raise 与 raise ... from 的区别
  • #define,static,const,三种常量的区别
  • #QT项目实战(天气预报)
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (C#)一个最简单的链表类
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (libusb) usb口自动刷新
  • (分享)自己整理的一些简单awk实用语句
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (规划)24届春招和25届暑假实习路线准备规划
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (图)IntelliTrace Tools 跟踪云端程序
  • (一) storm的集群安装与配置
  • (转) Face-Resources
  • (转)ORM
  • .net core 6 redis操作类
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .net 提取注释生成API文档 帮助文档
  • .Net7 环境安装配置
  • .NET程序员迈向卓越的必由之路
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • .NET设计模式(11):组合模式(Composite Pattern)
  • [.NET]桃源网络硬盘 v7.4
  • []AT 指令 收发短信和GPRS上网 SIM508/548
  • [Android] Upload package to device fails #2720
  • [BZOJ5125]小Q的书架(决策单调性+分治DP+树状数组)