2011-01-21 34 views
2

我下面張貼JSON包含春天控制器接收JSON JSON名單

{"testListObject":[{"testText":"bbb","testDate":"02.01.2011 00:00:00.000"},{"testText":"aaa","testDate":"01.01.2011 00:00:00.000"}]} 

在我的春天控制器我有

@RequestMapping(value = "/post/tester/", method = RequestMethod.POST) 
public @ResponseBody String postItinerary(@ModelAttribute("testListObject") TestList testList) throws IOException { 


    System.out.println("1="+testList); //ok 
    System.out.println("2="+testList.childListObject); //print null 
} 

任何想法,爲什麼我得到空的列表childListObject?

我的POJO看起來像下面

public class TestList(){ 

    public List<ChildObject> childListObject; 

//get and set 
    } 


    public class ChildObject(){ 

    public String testText; 
    public String testDate; 
//get and set  
} 

回答

5

@ModelAttribute調用Web數據聯編程序。它正在尋找普通的post方法參數(例如,param key - 「childListObject [0] .testText」參數值「bbb」)來綁定到您的對象上。
要將JSON反序列化爲對象,您希望使用@RequestBody來調用序列化程序。

此外,您的JSON似乎不符合obect。你的JSON只是一個沒有包裝器對象的數組,所以如果你提交了這個請求,方法參數將只是一個List。

0

你有沒有配置您的設置XML org.springframework.http.converter.json.MappingJacksonHttpMessageConverter