![](/img/trans.png)
[英]Parse JSON data using JSONReader or JSONObject/JSONArray
[英]java, how to parse json ajax data as jsonArray?(using @requestparam map, not VO)
java,如何将json ajax数据解析为jsonArray? (使用@requestparam映射,而不是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(){
});
我用stringify()做ajax数据。 但没有解析。
我的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“测试”数组数据。 为什么没有解析?
我解决了这个问题。
ajax选项'traditional:true'和json数据,“ test”:JSON.stringify(new Array(...))
应该在数组对象中发送json,请使用选项'traditional:true'。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.