2012-08-16 128 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