解决Post请求JSON列表参数格式报错:JSON parse error: Cannot deserialize value of type `java.util.ArrayList<x>

这篇具有很好参考价值的文章主要介绍了解决Post请求JSON列表参数格式报错:JSON parse error: Cannot deserialize value of type `java.util.ArrayList<x>。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述

今天在调试接口的时候,遇到一个问题。有一个post请求的json body参数,

解决Post请求JSON列表参数格式报错:JSON parse error: Cannot deserialize value of type `java.util.ArrayList<x>

然后vo里面只有两个属性,id和一个集合。

解决Post请求JSON列表参数格式报错:JSON parse error: Cannot deserialize value of type `java.util.ArrayList<x>

然后使用apifox调试接口的时候,发现json解析异常:

操作失败,JSON parse error: Cannot deserialize value of type `java.util.ArrayList<org.jeecg.file.entity.SysConfigFile>` from Object value (token `JsonToken.START_OBJECT`);

解决Post请求JSON列表参数格式报错:JSON parse error: Cannot deserialize value of type `java.util.ArrayList<x>

通过提示信息,可以发现是因为json结构不对导致解析不了。

错误示范

我原来是这样传的,会报错:

{
  "id": "403",
  "x": {
    "serialVersionUID": 1,
    "id": 1,
    "fileCode": "demoData",
    "fileName": "demoData",
    "fileNum": 1,
    "fileSize": "demoData",
    "fileCategoryDic": 1,
    "fileTypeDic": 1,
    "allowType": "demoData",
    "izRequired": 1,
    "fileDesc": "demoData",
    "templateUrl": "demoData",
    "handleUrl": "demoData",
    "delFlag": 1,
    "createBy": "demoData",
    "createTime": "2023-05-09 09:45:36",
    "updateBy": "demoData",
    "updateTime": "2023-05-09 09:45:36",
    "remark": "demoData",
    "tenantId": "demoData",
    "flag": true,
    "quyang": "demoData"
  }
}

正确示范

应该给list加一层数组,这样就能正常解析

{
  "id": "403",
  "sysConfigFiles": [{
    "serialVersionUID": 1,
    "id": 1,
    "fileCode": "demoData",
    "fileName": "demoData",
    "fileNum": 1,
    "fileSize": "demoData",
    "fileCategoryDic": 1,
    "fileTypeDic": 1,
    "allowType": "demoData",
    "izRequired": 1,
    "fileDesc": "demoData",
    "templateUrl": "demoData",
    "handleUrl": "demoData",
    "delFlag": 1,
    "createBy": "demoData",
    "createTime": "2023-05-09 09:45:36",
    "updateBy": "demoData",
    "updateTime": "2023-05-09 09:45:36",
    "remark": "demoData",
    "tenantId": "demoData",
    "flag": true,
    "quyang": "demoData"
  }]
}

扩展,多个集合元素

如果有多个集合,那么直接使用,分割即可,例如:文章来源地址https://www.toymoban.com/news/detail-506647.html

{
  "id": "403",
  "sysConfigFiles": [{
    "serialVersionUID": 1,
    "id": 1,
    "fileCode": "demoData",
    "fileName": "demoData",
    "fileNum": 1,
    "fileSize": "demoData",
    "fileCategoryDic": 1,
    "fileTypeDic": 1,
    "allowType": "demoData",
    "izRequired": 1,
    "fileDesc": "demoData",
    "templateUrl": "demoData",
    "handleUrl": "demoData",
    "delFlag": 1,
    "createBy": "demoData",
    "createTime": "2023-05-09 09:45:36",
    "updateBy": "demoData",
    "updateTime": "2023-05-09 09:45:36",
    "remark": "demoData",
    "tenantId": "demoData",
    "flag": true,
    "quyang": "demoData"
  },{
    "serialVersionUID": 1,
    "id": 1,
    "fileCode": "demoData",
    "fileName": "demoData",
    "fileNum": 1,
    "fileSize": "demoData",
    "fileCategoryDic": 1,
    "fileTypeDic": 1,
    "allowType": "demoData",
    "izRequired": 1,
    "fileDesc": "demoData",
    "templateUrl": "demoData",
    "handleUrl": "demoData",
    "delFlag": 1,
    "createBy": "demoData",
    "createTime": "2023-05-09 09:45:36",
    "updateBy": "demoData",
    "updateTime": "2023-05-09 09:45:36",
    "remark": "demoData",
    "tenantId": "demoData",
    "flag": true,
    "quyang": "demoData"
  }
  ]
}

到了这里,关于解决Post请求JSON列表参数格式报错:JSON parse error: Cannot deserialize value of type `java.util.ArrayList<x>的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Flutter携带JSON参数post请求

    在Flutter中发送带有JSON参数的网络请求,你可以使用HTTP库(如 http 或 dio )来实现。以下是使用 http 库发送网络请求并携带JSON参数的示例: 在上述示例中,首先创建一个参数Map,并将其转换为JSON字符串。然后设置请求头,使其指明请求类型为JSON。最后使用 http.post() 方法发送

    2024年02月14日
    浏览(39)
  • Postman - post请求application/json参数

    请求参数是json格式,这种是最常见的,以登录接口为例 接口名称:用户账户登录 接口地址: /api/v1/login 请求方式: POST 请求参数: 请求示例 1、新增登陆1的请求 2.请求方式选POST,输入url地址http://localhost:8201/api/v1/login 3、请求 body 选 raw,并选择 application/json类型 4、输入json格式

    2024年02月11日
    浏览(52)
  • 小程序 POST 请求传递 FormData 格式参数

    向服务端发起POST请求时,有些接口的参数需要以 FormData 形式传递。 小程序中没有FormData对象,使用 let formdata = new FormData() 创建对象,会报错 FormData is not defined 1、配置请求头header: ‘content-type’: ‘application/x-www-form-urlencoded; charset=UTF-8’ 2、参数修改为 字符串拼接形式:a

    2024年02月14日
    浏览(36)
  • 糊涂工具类(hutool)post请求设置body参数为json数据

    大家好,我是雄雄,欢迎关注微信公众号 雄雄的小课堂 今天介绍一个案例,糊涂工具类(hutool)post请求设置body参数为json数据,刚开始写的总是报错,下面是正确的代码: 重点是下面的这行代码:

    2024年02月16日
    浏览(34)
  • postman发送post请求携带json参数获取为null的情况

        @RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);而最常用的使用请求体传参的无疑是POST请求了,所以使用@RequestBody接收数据时,一般都用POST方式进行提交。在后端的同一个接收方法里    

    2024年02月13日
    浏览(45)
  • 【vue】post请求的参数格式转换为字符串拼接

    我在提交表单的时候,发现一直报500这个错,说是超时,但是我反复查看,并没有什么问题。后来我请求大佬说是请求接口的参数的问题,使用对象JSON的形式就是获取不到,必须是字符串拼接的格式才可以(默默地说,post默认参数是对象JSON格式传递,传字符串拼接的格式是

    2024年02月12日
    浏览(34)
  • 新增:前端提示“请求JSON参数格式不正确,请检查参数格式

    解决方法: 1.检查后端控制台报错: 参数格式传递异常,请求号为:3b44424d-73bd-4db7-970b-38638451c439,具体信息为:JSON parse error: Cannot deserialize value of type ` java.lang.Long` from String \\\" 新增的字段 \\\": not a valid Long value; nested exception is com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot

    2024年02月17日
    浏览(25)
  • ApiPost6/Postman发送POST请求及日期格式的参数

    Postman在发送POST请求的时候,所有参数写在Request Body(请求体)中,如果需要的参数类型的日期格式的,只需要将日期格式写为2000/01/01即可,Postman会自动识别为日期格式的数据。 如果是2000-01-01格式,Postman无法识别为日期,而是当做普通字符串处理。 实际案例

    2024年02月11日
    浏览(33)
  • 【Jmeter】信息头管理器(HTTP Header Manager) - 发送Post请求数据为json格式

    将 json 格式 请求数据输入 HTTP 请求 中的 Body Data (消息体数据 / 请求入参) 右击 Thread (线程组) 鼠标移至 Add (添加) → Config Element (配置元件) 点击 HTTP Header Manager (HTTP信息头管理器) 即可完成信息头管理器新建 进入 HTTP Header Manager (HTTP信息头管理器) 页面 点击下方 Add (添加) Nam

    2024年02月07日
    浏览(29)
  • 试试比postman更好用的apipost——如何测试post请求并发送json类型参数

     引言 ApiPost是一个国产的、跟Postman差不多的、用来测试Web API的软件,提供window、mac、linux版本下载,对于有在开发Web API的开发者相当有用,同时由于它是国产软件,完全中文界面更加友好,也符合中国开发者的使用体验。另外支持一键生成api接口文档,省掉不少开发者的工

    2024年02月15日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包