@RequestBody jackson解析复杂的传入值的一个坑;jackson解析迭代数组;jackson多重数组;jakson数组

Posted 北极的大企鹅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@RequestBody jackson解析复杂的传入值的一个坑;jackson解析迭代数组;jackson多重数组;jakson数组相关的知识,希望对你有一定的参考价值。

一、实际开发的一个问题。

      传入一个json数组,数组中还嵌套数组,运用springboot+Jpa框架,@RequestBody注解传入数据

     Controller

1  @ApiOperation(value = "添加订单", notes = "添加订单", httpMethod = "POST")
2     @RequestMapping("/addOrder")
3     public BaseResource addOrder(@RequestBody BaseSingleList baseSingleList) {
4         log.info("controller传入数据:" + gson.toJson(baseSingleList));
5 
6         return orderService.addOrder(baseSingleList);
7 
8 }
View Code

    传入对象的json格式

 1 {
 2     "singleOrderList": [
 3         {
 4             "orderName": "wyy",
 5             "orderPhone": "186683812781",
 6             "contact": "wyy",
 7             "telephony": "187738122781",
 8             "provinceId": 123,
 9             "cityId": 1-302,
10             "regionId": 19930203,
11             "address": "33363",
12             "userId": "32689d13465242dfad62ee1cdbf34d887",
13             "serieId": "94",
14             "trueTime": "2018-12-02",
15             "overTime": "2019-12-01",
16             "monthlyRent": 5000,
17             "dateCount": 18,
18             "packageId": "34ea0a3fb9a4496bab90488727ad6c57a09b",
19             "total": "3000000",
20             "ModularIdNum": [
21                 {
22                     "itemId": "b20f1c33256ae64ad576bec51e85d821eae1",
23                     "modularNum": 1
24                 }
25             ],
26             "isRentAndSell": 11110,
27             "applicationArea": null,
28             "remark": null,
29             "instruPurpose": null
30         }
31     ]
32 }
View Code

二、传入后总是接收不到
      

"ModularIdNum": [
{
"itemId": "b20f1c33256ae64ad576bec51e85d821eae1",
"modularNum": 1
}
]
这段数组的值,本来以为是@RequestBody无法解析问题,最后发现是字段的大小写问题

ModularIdNum 建立在实体类中,是不能大写的,需要小写modularIdNum

"modularIdNum": [
{
"itemId": "b20f1c33256ae64ad576bec51e85d821eae1",
"modularNum": 1
}
]

实体类对应

 

 

 

 

 



以上是关于@RequestBody jackson解析复杂的传入值的一个坑;jackson解析迭代数组;jackson多重数组;jakson数组的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Spring Boot REST API 中启用对 JSON / Jackson @RequestBody 的严格验证?

定制 Jackson 解析器来完成对复杂格式 XML 的解析

Java Debug 笔记:定制 Jackson 解析器来完成对复杂格式 XML 的解析

Springmvc对json数据的支持@RequestBody和@ResponseBody

将json字符串解析为具有复杂数据结构的java(jackson)

SpringBoot中使用@RequestBody时如何自定义需要转换的日期格式