[英]JSON Map<String,ArrayList> data is not converting into bean object in restful jersey
使用String,Array和Map的JSON數據進行Ajax調用。 在轉換為澤西的DashboardChartData
(Bean類)但無法獲取Map值后,我能夠獲取String和Array數據。 假設bean是DashboardChartData
的對象,globalInFilters是DashboardChartData類的數據成員,並使setter / getter與bean相同,然后是bean.getGlobalInFilters(); 得到null不是期望的值。
代碼是:
function demo(){
var dashbord = {
"aoId": "M_AO_918",
"viewBys": ["Brand", "Category", "State"],
"viewIds": ["615228", "615128", "614847"],
"dimensions": ["615228"],
"aggregation": ["SUM", "SUM", "SUM", "SUM", "SUM", "SUM"],
"meassures": ["Gross Sales", "Net Sales", "Discount Amt", "Discount%", "Net Margin Amt", "Gross Margin Amt"],
"meassureIds": ["616275", "616283", "616279", "616648", "616295", "616303"],
"globalInFilters": {"615228": ["Lenovo", "Apple"]}
};
$("#query").html(JSON.stringify(dashbord));
$.ajax({
type: "POST",
contentType: "application/json; charSet=UTF-8",
dataType: "json",
data: JSON.stringify(dashbord),
url: "<%=request.getContextPath()%>/webresources/solrservice/test1",
success: function(data, textStatus, jqXHR){
alert('Bean created successfully');
},
error: function(jqXHR, textStatus, errorThrown){
alert('Bean error: ' + textStatus);
}
});
}
我用上面的參數創建了DashboardChartData
類,包括:
private Map<String, List<String>> globalInFilters;
public Map<String, List<String>> getGlobalInFilters() {
return globalInFilters;
}
public void setGlobalInFilters(Map<String, List<String>> globalInFilters) {
this.globalInFilters = globalInFilters;
}
@Path("/test1")
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public void setData1(DashboardChartDataBean bean) throws Exception {
bean.getGlobalInFilters(); //getting null
ProgenSolrDao daoObj = new ProgenSolrDao();
try {
QueryResponse response = daoObj.executeSolrQuery("city",bean);
} catch (Exception e) {
}
}
bean.getGlobalInFilters()
獲取null
,除非所有其他值都正常。 請幫助我如何globalInFilters
的值。
為什么在發送之前進行字符串化。 嘗試不使用stringify。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.