繁体   English   中英

java,如何将json ajax数据解析为jsonArray?(使用@requestparam map,而不是VO)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM