在不创建类的情况下解析JSON请求

时间:2014-08-22 13:15:33

标签: spring spring-mvc

在Spring MVC控制器方法中,我有一个JSON输入(请求体)只有一个字段:{"version":3}。我可以得到这样的价值:

@RequestMapping
public void myMethod(@RequestBody MyJsonRequest myJsonRequest) {

    int version = myJsonRequest.version;

    //...
}

但我必须使用MyJsonRequest字段创建version类。如何在不创建新类的情况下获取version值?

3 个答案:

答案 0 :(得分:2)

您可以尝试使用地图:

public void myMethod(@RequestBody Map<String, Integer> myJsonRequest) {

    int version = myJsonRequest.get("version");

    //...
}

答案 1 :(得分:0)

您可以解析JSON数据,然后可以直接访问JSON响应的值。

将数据视为myJsonRequest:

 var version=0;
 var jsonval = $.parseJSON(data);
 // you can use directly value of json data like 
 version = data.version;

 // If you returned an array in json response, then you can use $.each method and store value into single array, like this

 $.each(portals_array,function(i,v){
        version[] = v.version;

 });

alert(version);
};

它在我的代码中完美运行。看看吧。

答案 2 :(得分:0)

尝试下面的代码,它将你的json对象映射到一个原始的int变量:

@RequestMapping(value="/yourMapping", method=RequestMethod.POST, consumes=MediaType.APPLICATION_JSON)
public void myMethod (@RequestBody int version) {

    //do something with your int variable version
}