使用 Jackson JSON Mapper 在 JSON 到 POJO 之间映射时出现 400 Bad Request
Posted
技术标签:
【中文标题】使用 Jackson JSON Mapper 在 JSON 到 POJO 之间映射时出现 400 Bad Request【英文标题】:400 Bad Request when mapping between JSON to POJOs using Jackson JSON Mapper 【发布时间】:2012-08-12 22:00:28 【问题描述】:我的 JSON 格式为
var array1 = 新数组; var array2 = 新数组; //将一些字符串推送到array1和array2 var data = JSON.stringify('email':email,'age':age,'array1':array1,'array2':array2);如何使用 Jackson JSON Mapper 将其映射到 POJO 以避免 400 Bad Request。
我试过了
公共类 MyPOJOs 私人字符串电子邮件; 私有字符串年龄; 私人 MyList 数组1; 私人 MyList 数组2; //getter 和 setter 公共类 MyList 私有 ArrayList 列表; //getter 和 setter我的控制器
公共 @ResponseBody 响应 myController(@RequestBody MyPOJOs myPOJOs) 字符串电子邮件 = myPOJOs.getEmail(); logger.log("嗨" + 电子邮件); 返回空值;谢谢。
【问题讨论】:
JSON 需要使用双引号,而不是单引号。 JSON.stringify 是将 javascript 值转换为 JSON,单引号在 JavaScript 值中有效,所以我认为在这种情况下引号无关紧要。 请将data
中的 JSON 字符串的实际示例添加到您的问题中。另外,它怎么不起作用?有什么例外吗?如果是这样,请将它们完整地添加到您的问题中。
谢谢,菲利普。定义“private ArrayList 我不太了解 Jackson JSON 处理器,但我很惊讶它能够将您的数组映射到您的自定义 MyList
对象。
我希望 MyPOJOs
类有像 private String[] array1
或 private List<String> array1
或 Collection
这样的成员。
顺便说一句:你的代码中有很多错误让我觉得你没有在这里发布真正的代码。拼写错误的类型名称等。
【讨论】:
定义“private ArrayList以上是关于使用 Jackson JSON Mapper 在 JSON 到 POJO 之间映射时出现 400 Bad Request的主要内容,如果未能解决你的问题,请参考以下文章
Jackson Java 到 JSON 对象映射器修改字段名称