2012-08-16 107 views
1

的POJO时错误的请求我的400 JSON之间的映射使用JSON杰克逊映射

 
var array1 = new Array; 
var array2 = new Array; 
//push some string to array1 and array2 
var data = JSON.stringify({'email':email,'age':age,'array1':array1,'array2':array2}); 

一个JSON格式的我怎么可能映射到使用JSON杰克逊映射,以避免400错误的请求的POJO。

我已经试过

 
public class MyPOJOs{ 
    private String email; 
    private String age; 
    private MyList array1; 
    private MyList array2; 
    //getters and setters 
} 
public class MyList{ 
    private ArrayList list; 
    //getter and setter 
} 

我控制器

 
public @ResponseBody Response myController(@RequestBody MyPOJOs myPOJOs){ 
    String email = myPOJOs.getEmail(); 
    logger.log("Hi " + email); 
    return null; 
} 

感谢。

+0

JSON要求使用双引号,而不是单个引号。 – Kraylog 2012-08-16 14:19:57

+0

JSON.stringify是将JavaScript值转换为JSON,单引号在JavaScript值中有效,所以我不认为引用在这种情况下很重要。 – user200340 2012-08-16 14:35:21

+0

请在'data'中为您的问题添加一个JSON字符串的实例。另外,它不起作用?有没有例外?如果是这样,请全部添加到您的问题中。 – 2012-08-16 14:36:30

回答

1

我真的不知道杰克逊JSON处理器,但我会感到惊讶,这是可以将您的阵列映射到您的自定义MyList对象。

我期待MyPOJOs类有像private String[] array1private List<String> array1Collection成员。

BTW:有在你的代码中的许多错误,让我觉得你不要在这里发布真正的代码。拼写错误的类型名称等

+0

定义“private ArrayList array1”后问题解决了。在MyPOJOs类中。谢谢。 – user200340 2012-08-16 15:05:15

+0

是的,他们不是真正的代码。编辑修复一些拼写错误的名称和JavaScript数组对象声明。 – user200340 2012-08-16 15:13:37