TypeError: the JSON object must be str, bytes or bytearray, not dict

2024-03-05 10:04

本文主要是介绍TypeError: the JSON object must be str, bytes or bytearray, not dict,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

参考文章:https://blog.csdn.net/yuan2019035055/article/details/124934362

Python基础系列(一)搞懂json数据解析与字典之间的关系

代码:

在这里插入图片描述
在这里插入图片描述

报错信息:

TypeError: the JSON object must be str, bytes or bytearray, not dict

C:\Users\Administrator\PycharmProjects\XUNI_TEST\venv\Scripts\python.exe C:/Users/Administrator/PycharmProjects/XUNI_TEST/venv/JSON与字典的互相转换.py
Traceback (most recent call last):File "C:/Users/Administrator/PycharmProjects/XUNI_TEST/venv/JSON与字典的互相转换.py", line 14, in <module>datadict = json.loads(data)File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\json\__init__.py", line 341, in loadsraise TypeError(f'the JSON object must be str, bytes or bytearray, '
TypeError: the JSON object must be str, bytes or bytearray, not dict
{'name': 'xiaowang', 'info': {'sex': 'female', 'age': 16, 'birth': 1225665}} <class 'dict'>

报错翻译:

类型错误:JSON对象必须是str、bytes或bytearray,而不是dict

报错原因:

误将字典当成json,将字典转化成字典(格式不对)

改正:

在这里插入图片描述

输出:

C:\Users\Administrator\PycharmProjects\XUNI_TEST\venv\Scripts\python.exe C:/Users/Administrator/PycharmProjects/XUNI_TEST/venv/JSON与字典的互相转换.py
{'name': 'xiaowang', 'info': {'sex': 'female', 'age': 16, 'birth': 1225665}} <class 'dict'>
{"name": "xiaowang", "info": {"sex": "female", "age": 16, "birth": 1225665}} <class 'str'>
{'name': 'xiaowang', 'info': {'sex': 'female', 'age': 16, 'birth': 1225665}} <class 'dict'>

知识点:

json.dumps() :将 dict 转为json格式的字符串 【标准的 Json 文件语法中是以双引号包裹字符串的】
json.loads():将json数据转成dict类型 【 json字符串→ python对象(dict)】【主要用于解码,爬虫】
json.dump():将字典数据写入 json 文件中
json.load():读取本地 Json 文件中的数据,将数据转换为 Python 的字典格式,供其他函数调用。
在这里插入图片描述

究其原因,我对JSON和Python字典的相互转化的语法不够清晰,脑子内没有相对应的转化流程图,导致“照搬照抄”书本代码,没有实际思考。因此,我要观看JSON和Python字典的相互转化的相关视频,通过自身总结,多加练习JSON和Python字典的相互转化

这篇关于TypeError: the JSON object must be str, bytes or bytearray, not dict的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/776155

相关文章

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

MySQL JSON 查询中的对象与数组技巧及查询示例

《MySQLJSON查询中的对象与数组技巧及查询示例》MySQL中JSON对象和JSON数组查询的详细介绍及带有WHERE条件的查询示例,本文给大家介绍的非常详细,mysqljson查询示例相关知... 目录jsON 对象查询1. JSON_CONTAINS2. JSON_EXTRACT3. JSON_TA

Java中JSON格式反序列化为Map且保证存取顺序一致的问题

《Java中JSON格式反序列化为Map且保证存取顺序一致的问题》:本文主要介绍Java中JSON格式反序列化为Map且保证存取顺序一致的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录背景问题解决方法总结背景做项目涉及两个微服务之间传数据时,需要提供方将Map类型的数据序列化为co

使用Java将实体类转换为JSON并输出到控制台的完整过程

《使用Java将实体类转换为JSON并输出到控制台的完整过程》在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用JSON格式,用Java将实体类转换为J... 在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用j

MySQL 中的 JSON 查询案例详解

《MySQL中的JSON查询案例详解》:本文主要介绍MySQL的JSON查询的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 的 jsON 路径格式基本结构路径组件详解特殊语法元素实际示例简单路径复杂路径简写操作符注意MySQL 的 J

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制