python decode报错_Python 报错:json.decoder.JSONDecodeError:Expecting value: line 1 column 1 (char 0)...

本文介绍了在Python中遇到`json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)`错误的原因及解决方案。问题在于未将字典数据转换为JSON格式。通过在发送请求前使用`json.dumps()`将字典转换为JSON字符串,成功解决了此错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

e4a7aabbb02d

修改前的代码

e4a7aabbb02d

报错

1. 项目结构:参见图片左侧的“FOLDERS”下方;

1.1 主函数入口文件为《run_test.py》

e4a7aabbb02d

修改前的《run_test.py》文件

主要的问题就在于没有将从《get_data.py》文件调用get_data_for_json函数取得的返回值data转换成json格式,所以我在后面ctrl+B调试的时候,会返回一个400,也就是请求体格式不正确,多方查资料才知道是python获取到的返回值data是一个字典,而非json,然而我的接口传参的方式是application/json格式,所以这里添加了一条转化格式的语句:data_json = json.dumps(data),同时将后面的(method,url,data,header)改成了(method,url,data_json,header) 以对应。修改后的代码如下:

#coding:utf-8

#主流程封装文件《run_test.py》

import json

import sys

sys.path.append("D:\\djangostudy\\pdrcInterface") #将项目所在路径添加到系统路径中

import data_config #引入《data_config》文件中的 global_var类,用于获取excel用例文件的各个字段在sheet表中的位置

from base.runmethod import RunMethod #引入base文件夹下《runmethod.py》文件的 RunMethod类,用于获取 Post和 get方法

from data.get_data import GetData #引入base文件夹下《get_data.py》文件的GetData类,获取各具体字段值

class RunTest:

def __init__(self):

self.run_method = RunMethod() #实例化,以便后面代码调用RunMethod()类中的所有方法

self.data = GetData() #实例化,以便后面代码调用GetData()类中的所有方法

#程序执行的主入口

def go_on_run(self):

res = None

#10

rows_count = self.data.get_case_lines() #调用《get_data.py》文件下的get_case_lines函数

for i i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值