Python调用Java接口失败(Java日志打印警告:JSON parse error:xxxx)的解决方案
更新时间:2025年11月13日 08:56:31 作者:岫珩
文章描述了Python调用Java接口时遇到400错误和JSON解析错误的问题,通过分析问题发现参数传递方式可能存在问题,修改Python代码使用data参数并序列化数据后,问题解决,文章总结了在Python调用Java接口传递JSONObject数据时的注意事项,需要的朋友可以参考下
1. 场景描述
现有以下Java接口实现:
@RequestMapping(value="addInfo", method=RequestMethod.POST, produces=MediaType.APPLICATION_JSON_VALUE)
public TbInfoEntity addInfo(@RequestHeader("userGroup")String userGroup,
@RequestHeader("username")String username,
@RequestBody JSONObject requestBody
){
// 将JSONObject转换为TbInfoEntity对象
TbInfoEntity tie = JSONObject.parseObject(requestBody.toJSONString(), TbInfoEntity.class);
// 调用Mapper接口写入数据库
tieMapper.insert(tie);
return tie;
}
接口访问地址为:
http://127.0.0.1:8089/test/addInfo
对应的Python调用代码如下:
import requests
import json
# 构建请求数据
data = {
"userId":"001",
"userAge":"19",
"userAddr":"shanghai"
}
# 设置请求头
headers = {
"Content-Type":"application/json",
"Accept":"application/json",
"username":"xiuheng",
"userGroup":"csdn"
}
url = "http://127.0.0.1:8089/test/addInfo"
# 调用接口
response = requests.post(url=url, json=data, headers=headers, timeout=30)
执行后出现400错误,Java服务日志显示JSON解析错误。
2. 问题分析
根据错误现象:
- Python端报400错误,提示请求参数问题
- Java服务日志显示JSON解析失败
- 主要关注请求参数中的data部分可能存在格式问题
初步判断问题出在请求参数的传递方式上,尝试修改参数传递方式。
3. 解决方案
修改Python调用代码为以下形式:
import requests
import json
data = {
"userId":"001",
"userAge":"19",
"userAddr":"shanghai"
}
headers = {
"Content-Type":"application/json",
"Accept":"application/json",
"username":"xiuheng",
"userGroup":"csdn"
}
url = "http://127.0.0.1:8089/test/addInfo"
# 使用data参数并手动序列化JSON
response = requests.post(url=url, data=json.dumps(data), headers=headers, timeout=30)
修改后调用成功,数据正常写入数据库。
4. 经验总结
Python调用Java接口传递JSONObject类型数据时:
- 建议使用data参数而非json参数
- 必须使用json.dumps()对数据进行序列化处理
- 这样才能确保参数格式符合Java端JSON解析的要求
以上就是Python调用Java接口失败(Java日志打印警告:JSON parse error:xxxx)的解决方案的详细内容,更多关于Python调用Java接口失败的资料请关注脚本之家其它相关文章!
相关文章
Python multiprocessing 进程间通信方式实现
本文主要介绍了Python multiprocessing 进程间通信方式实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-02-02
Selenium(Python web测试工具)基本用法详解
这篇文章主要介绍了Selenium(Python web测试工具)基本用法,结合实例形式分析了Selenium的基本安装、简单使用方法及相关操作技巧,需要的朋友可以参考下2018-08-08


最新评论