【问题标题】:400 Bad Request when mapping between JSON to POJOs using Jackson JSON Mapper使用 Jackson JSON Mapper 在 JSON 到 POJO 之间映射时出现 400 Bad Request
【发布时间】: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 array1; private ArrayList array2;”后问题得到解决在 MyPOJOs 类中。实际的 JSON 数据很大,这里就不放了。

标签: java json spring jackson


【解决方案1】:

我不太了解 Jackson JSON 处理器,但我很惊讶它能够将您的数组映射到您的自定义 MyList 对象。

我希望 MyPOJOs 类有像 private String[] array1private List<String> array1Collection 这样的成员。

顺便说一句:你的代码中有很多错误让我觉得你没有在这里发布真正的代码。拼写错误的类型名称等。

【讨论】:

  • 定义“private ArrayList array1;”后问题解决在 MyPOJOs 类中。谢谢。
  • 是的,它们不是真正的代码。编辑以修复一些拼写错误的名称和 JavaScript Array 对象声明。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-17
  • 1970-01-01
  • 2019-08-10
  • 1970-01-01
  • 2015-06-04
相关资源
最近更新 更多