如何在spring mvc控制器中读取Json对象

时间:2015-12-18 20:25:49

标签: json ajax spring-mvc

当您只有一个参数时,在spring mvc中读取JSON对象的最佳方式是什么。

当我有很多时,我创建了一个对象,它将读取ajax发送的post请求,但在这种情况下,鉴于我只发送username参数,它看起来非常难看。

var dataObject = JSON.stringify({
    'username' : 'quentin'
});

$.ajax({
    url : ctx + '/users/edit',
    type : 'POST',
    beforeSend : function(xhr) {
        xhr.setRequestHeader(header, token);
    },
    data : dataObject
});

尝试

@RequestMapping(value = "/users/edit", method = RequestMethod.POST)
public String editUser(@RequestBody String username) {

    System.out.println(username);
    return "users/edit";
}

这显然是错误的,并将以下结果作为结果

%7B%22username%22%3A%22quentin%22%7D=

1 个答案:

答案 0 :(得分:1)

请检查您的内容类型尝试其中一种。

$.ajax({
        url :'/users/edit',
        type : 'POST',
        contentType: "application/json", //either
        beforeSend: function(xhr) {
         //xhr.setRequestHeader("Content-Type", "application/json"); //or
        },
        data : dataObject,
        success: function(data) {

        }  
});

%7B%22username%22%3A%22quentin%22%7D=

{"username":"quentin"}