有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在servlet中读取ajax发送的json

我是java新手,我为这个问题挣扎了两天,最后决定在这里提问

我试图读取jQuery发送的数据,以便在servlet中使用它

jQuery

var test = [
    {pv: 1000, bv: 2000, mp: 3000, cp: 5000},
    {pv: 2500, bv: 3500, mp: 2000, cp: 4444}
];

$.ajax({
    type: 'post',
    url: 'masterpaket',
    dataType: 'JSON',
    data: 'loadProds=1&'+test, //NB: request.getParameter("loadProds") only return 1, i need to read value of var test
    success: function(data) {

    },
    error: function(data) {
        alert('fail');
    }
});

Servlet

protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
   if (request.getParameter("loadProds") != null) {
      //how do i can get the value of pv, bv, mp ,cp
   }
}

我真的很感激你能提供的任何帮助


共 (2) 个答案

  1. # 2 楼答案

    除非正确发送,否则无法在服务器上解析:

    $.ajax({
        type: 'get', // it's easier to read GET request parameters
        url: 'masterpaket',
        dataType: 'JSON',
        data: { 
          loadProds: 1,
          test: JSON.stringify(test) // look here!
        },
        success: function(data) {
    
        },
        error: function(data) {
            alert('fail');
        }
    });
    

    必须使用JSON.stringify将JavaScript对象作为JSON字符串发送

    然后在服务器上:

    String json = request.getParameter("test");
    

    您可以手动解析json字符串,或者使用任何库(我建议gson