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

记一个JSON返回数据的bug

记一个JSON返回数据的bug:‘Object of type int64 is not JSON serializable’
我在打包数组进行json数据返回时,有一个参数是numpy数组里计算出来的,类型为int64,直接进行json打包会报错
提示(‘Object of type int64 is not JSON serializable’,)
,查阅了一些资料,这是因为 JSON 标准规定只支持有限的数据类型,而 int64 不是其中之一。

然后我又搜了一下,python的数据类型,int64和int有什么区别,int64在 什么情况下会出现,得到如下答案:
在 Python 中,int 是整数的基本数据类型,而 int64 是 numpy 库中的数据类型,用于表示 64 位整数。

int 是 Python 内置的整数类型,它可以表示任意大小的整数。在大多数情况下,我们使用的整数都是 int 类型。

而 int64 是 numpy 库中的数据类型,用于处理需要精确表示 64 位整数的情况。int64 类型的整数范围更大,可以表示更大的整数值,而不会溢出。

通常情况下,我们不会直接使用 int64 类型,除非需要处理大整数或者需要与 numpy 库进行交互时。在一些科学计算和数据分析的场景中,numpy 库常常会使用 int64 类型来表示整数数据。

需要注意的是,Python 的内置整数类型 int 在大多数情况下可以满足我们的需求,而且更常见和易于使用。只有在特定的情况下,比如需要处理大整数或者与 numpy 库进行交互时,才需要使用 int64 类型。

后来我把那段代码进行格式转化,转换成float类型,才没有报这个错误了
下面附上代码片段:

                    for dimension in dimension_list:element_df = result.loc[result['dimension'] == dimension].reset_index(drop=True)dimension_dict = {}dimension_dict['dimension'] = dimensiondimension_dict['JS'] = element_df['js_sum'].loc[0]dimension_dict['EP'] = element_df['ep_sum'].loc[0]dimension_dict['element'] = element_df[['elements', 'surprise', 'EP']].reset_index(drop=True).to_dict(orient='records')result_list.append(dimension_dict)json_str["rcode"] = 0json_str["desc"] = "定位根因success"json_str["dimension"] = result_list

修改后的:

                    for dimension in dimension_list:element_df = result.loc[result['dimension'] == dimension].reset_index(drop=True)dimension_dict = {}dimension_dict['dimension'] = dimensiondimension_dict['JS'] = float(element_df['js_sum'].loc[0])dimension_dict['EP'] = float(element_df['ep_sum'].loc[0])dimension_dict['element'] = element_df[['elements', 'surprise', 'EP']].reset_index(drop=True).to_dict(orient='records')result_list.append(dimension_dict)json_str["rcode"] = 0json_str["desc"] = "定位根因success"json_str["dimension"] = result_list

相关文章:

记一个JSON返回数据的bug

记一个JSON返回数据的bug:‘Object of type int64 is not JSON serializable’ 我在打包数组进行json数据返回时,有一个参数是numpy数组里计算出来的,类型为int64,直接进行json打包会报错 提示(‘Object of type int64 is not JSON serializa…...

毫米波雷达模块技术革新:在自动驾驶汽车中的前沿应用

随着自动驾驶技术的快速发展,毫米波雷达模块的技术革新成为推动这一领域的关键因素之一。本文将深入研究毫米波雷达模块技术的最新进展,并探讨其在自动驾驶汽车中的前沿应用。 毫米波雷达模块的基本原理 解释毫米波雷达模块的基本工作原理,强…...

优秀数据库模式迁移工具的发展历程

数据库模式迁移可能是应用程序开发中风险最大的领域——因为这是一个困难的、有风险的和痛苦的过程。数据库模式迁移工具的存在是为了减轻这种痛苦,并且已经取得了长足的进步:从基本的CLI工具到GUI工具,从简单的SQL GUI客户端到一体化协作数据…...

【深度学习】数据集最常见的问题及其解决方案

简介 如果您还没有听过,请告诉您一个事实,作为一名数据科学家,您应该始终站在一个角落跟你说:“你的结果与你的数据一样好。” 尝试通过提高模型能力来弥补糟糕的数据是许多人会犯的错误。这相当于你因为原来的汽车使用了劣质汽…...

Excel文件带有密码的只读模式,如何设置?

Excel带有密码的除了打开密码和工作表保护以外,其实还有一种可以设置密码的方法,今天给大家分享如何设置带有密码的只读模式。 打开excel文件,将文件进行【另存为】设置,然后停留在保存路径的界面中,我们点击下面的工…...

【Qt之json文件】json文件介绍及相关读写类介绍、示例

JSON介绍 JSON(JavaScript Object Notation)是一种源自Javascript的编码对象数据的轻量级的数据交换格式,易于理解和编写,JSON但现在已广泛用作互联网上的数据交换格式。 Qt提供了处理JSON数据的支持。Qt中的JSON支持提供了一个易…...

arp 隔离

目录 问题查找解决方式参考 问题 linux 在使用双网卡系统时,当这两个不同网段的网口接到同一个交换机上,会出现 eth0 的 arp 请求,会在 eth1 上收到并回复,相当于自己检测到了自己的 ip。 查找 linux 的底层,默认情…...

数据结构与算法(文章链接汇总)

数据结构与算法(一):概述与复杂度分析 数据结构与算法(二):数组与链表 数据结构与算法(三):栈与队列 数据结构与算法(四):哈希表 数据…...

代码随想录算法训练营第五十九天 | 647. 回文子串、516.最长回文子序列

647. 回文子串 链接: 代码随想录 (1)代码 516.最长回文子序列 链接: 代码随想录 (1)代码...

非关系型数据库-Redis

一、缓存概念 缓存是为了调节速度不一致的两个或多个不同的物质的速度,在中间对速度较慢的一方起到加速作用,比如CPU的一级、二级缓存是保存了CPU最近经常访问的数据,内存是保存CPU经常访问硬盘的数据,而且硬盘也有大小不一的缓存…...

HTML基本讲解与使用

目录 html的由来: 什么是HTML: HTML的主要特点: HTML文档结构: HTML元素: HTML元素属性: 文本和格式化: 链接和图像: 列表: 表格: 表单: 嵌套和结构: HTML注释: 样式…...

linux uname详解 -s -r -a 查看内核版本

简介 uname命令用于显示操作系统信息,例如内核版本、主机名、处理器类型等 uname常用的有-a,-r,-rs 参数 --help  显示帮助。-a 或--all 显示全部信息,包括内核名、主机名、内核版本、处理器类型和硬件架构等…...

Linux常用命令——cmp命令

在线Linux命令查询工具 cmp 比较两个文件是否有差异 补充说明 cmp命令用来比较两个文件是否有差异。当相互比较的两个文件完全一样时,则该指令不会显示任何信息。若发现有差异,预设会标示出第一个不通之处的字符和列数编号。若不指定任何文件名称或是…...

C语言之排序

1.冒泡排序 冒泡排序就不多说了,只需要两层循环嵌套,两两比较确定相对正确的顺序即可。 2.插入排序 插入排序的思想就是每一次向后寻找一个再将其与前面有序的部分进行对比,寻找合适位置插入。 这里关键要避免让前移超出目前读取的数字&…...

GitHub-使用 Git工具 创建密钥id_rsa.pub

快速导航 步骤1 打开Git Bash步骤2 输入指令【ssh-keygen】步骤3 打开创建的公钥文件步骤4 复制其中所有内容步骤5 打开GitHub中的Setting界面步骤6 添加SSH keys 步骤1 打开Git Bash 打开Git Bash 工具 步骤2 输入指令【ssh-keygen】 输入指令【ssh-keygen】,并…...

C++多重、多层、分层继承

在本文中,您将学习C 编程中的不同继承模型:带有示例的多继承,多层和分层继承。 继承是面向对象编程语言的核心功能之一。它允许软件开发人员从现有的类派生一个新的类。派生类继承基类(现有类)的功能。C 编程中有多种…...

ThingsBoard的数据分析-自定义节点来订阅kafka stream的消息

1、概述 在ThingsBoard官方文档中有说明:ThingsBoard 规则引擎支持对传入遥测数据的基本分析,例如阈值交叉。规则引擎背后的想法是提供基于设备属性或数据本身将数据从物联网设备路由到不同插件的功能。 然而,大多数现实生活中的用例也需要高级分析的支持:机器学习、预测分…...

Python WSGI HTTP Server - Gunicorn

基本概念 Gunicorn,也称为“Green Unicorn”,是一个Python WSGI HTTP Server,用于运行Python Web应用程序。WSGI(Web Server Gateway Interface)是Python应用程序和Web服务器之间的一个接口,允许应用程序和…...

[论文笔记]GPT-2

引言 今天继续GPT系列论文, 这次是Language Models are Unsupervised Multitask Learners,即GPT-2,中文题目的意思是 语言模型是无监督多任务学习器。 自然语言任务,比如问答、机器翻译、阅读理解和摘要,是在任务相关数据集上利用监督学习的典型方法。作者展示了语言模型…...

第十三届蓝桥杯模拟赛第三期

A.填空题 问题描述 请问十六进制数 2021ABCD 对应的十进制是多少? 参考答案 539077581 import java.math.*; public class Main {public static void main(String[] args) {String strnew BigInteger("2021ABCD",16).toString(10);System.out.printl…...

用Python和RoboMaster SDK搞定Tello无人机编队飞行(保姆级避坑指南)

用Python和RoboMaster SDK实现Tello无人机编队飞行实战指南 当几台Tello无人机在空中同步完成编队动作时,那种科技感十足的场面总能吸引所有人的目光。作为大疆旗下最具性价比的教育编程无人机,Tello凭借开放的SDK接口和亲民的价格,成为了创客…...

ARM SME2指令集:矩阵运算加速与AI性能优化

1. ARM SME2指令集架构概览在当今AI和机器学习工作负载爆炸式增长的时代,处理器架构设计正面临前所未有的挑战。作为应对,ARM公司在其v9架构中引入了Scalable Matrix Extension 2(SME2)指令集扩展,这是对第一代SME的重…...

Real Anime Z开源价值解读:Z-Image底座+Real Anime Z微调的协同优势

Real Anime Z开源价值解读:Z-Image底座Real Anime Z微调的协同优势 1. 项目核心价值 Real Anime Z是一款基于阿里云通义Z-Image底座模型与Real Anime Z专属微调权重开发的高精度二次元图像生成工具。它专为真实系二次元风格优化,通过创新的技术方案解决…...

Rust的#[repr(align(N))]指定对齐方式与硬件SIMD指令的内存要求

在现代高性能计算领域,SIMD(单指令多数据)指令集是提升程序性能的关键技术之一。要充分发挥SIMD的潜力,数据的内存对齐必须满足特定要求。Rust作为一门注重安全与性能的系统级语言,提供了#[repr(align(N))]属性&#x…...

手把手教你用STM32CubeMX配置TM7711高精度ADC(附完整代码与电平转换电路详解)

STM32CubeMX实战:TM7711高精度ADC配置与电平转换电路设计全解析 在嵌入式开发领域,ADC(模数转换器)的精度往往决定了整个系统的测量上限。当STM32内置的12位ADC无法满足需求时,外接高精度ADC芯片成为工程师的必然选择。…...

FLUX.1-Krea-Extracted-LoRA应用案例:独立摄影师AI辅助创意构思工作流

FLUX.1-Krea-Extracted-LoRA应用案例:独立摄影师AI辅助创意构思工作流 1. 真实感图像生成新选择 FLUX.1-Krea-Extracted-LoRA模型为专业摄影师和创意工作者带来了全新的AI辅助工具。这个基于FLUX.1-dev基础模型提取的LoRA风格权重,专门针对真实感图像生…...

抖音内容获取的革命:从手动保存到智能批量下载的技术演进

抖音内容获取的革命:从手动保存到智能批量下载的技术演进 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback su…...

浪潮NF5280M6服务器上ESXi 6.7双网卡聚合实战:从交换机LACP到vSphere IP哈希配置全流程

浪潮NF5280M6服务器ESXi 6.7双网卡聚合实战:从交换机到虚拟化的全链路配置 在企业虚拟化环境中,网络带宽和冗余始终是核心诉求。当我们在浪潮NF5280M6服务器上部署ESXi 6.7时,如何充分发挥双网卡性能成为关键。本文将深入解析从华为交换机LAC…...

从机械爪到智能体:构建感知-决策-执行闭环的机器人系统实践

1. 项目概述:从“机械爪”到“智能体”的进化最近在开源社区里,一个名为“AgentR1/Claw-R1”的项目引起了我的注意。这个名字本身就很有意思,它像是一个代号,又像是一个产品迭代的标识。乍一看,“Claw-R1”很容易让人联…...

以线性代数的行列式理解数学应用备忘

线性代数 是什么?12 AI Logo DeepSeek-V3.2 04-24 02:37 线性代数是高等学校各专业学生的一门必修的基础理论课,主要阐述代数学中线性关系的经典理论。它广泛应用于科学技术的各个领域,是学生学习后继课程以及从事科学研究、工程技术与管理工…...