java, как проанализировать данные json ajax как jsonArray?(используя @requestparam map, а не VO)
мой код js ajax
$.ajax({
type : "POST"
,url : "/test"
,dataType : "json"
,data: {
"a": 123
, "b": "asdf"
, "c": "Y"
, "d": "Y"
, "test": new Array({"num":1, "use":"Y"},{"num":2, "use":"N"},{"num":3, "use":"Y"})
}
}).done(function(data){
}).fail(function(){
});
я сделал ajax-данные с помощью stringify ().но не анализировал.
мой код Java
@ResponseBody
@RequestMapping(value="/test", method={RequestMethod.GET, RequestMethod.POST})
public String test(@RequestParam Map<String, Object> param, HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception {
System.out.println(param);
JSONParser jsonParser = new JSONParser();
JSONObject jsonObject = (JSONObject)jsonParser.parse(param.toString());
System.out.println(jsonObject);
JSONArray jsonArray = (JSONArray)jsonObject.get("test");
System.out.println(jsonObject.get("b"));
System.out.println(jsonObject.get("test"));
System.out.println(jsonArray.size());
return "";//helloworld.getName()+" Hello World! "+helloworld.getKind();
}
, и я сделал,
JSONObject jsonObject = new JSONObject(param);
JSONArray jsonArray = (JSONArray)jsonObject.get("test");
, но не анализировал.
System.out.print (jsonObject)
{a=123, b=asdf, c=Y, d=Y, test[0][num]=1, test[0][use]=Y, test[1][num]=2, test[1][use]=N, test[2][num]=3, test[2][use]=Y}
как я могу проанализировать, ajax json "проверить" данные массива.почему не разбирается ??