【问题标题】:How to get JSON data from POST request using Servlet如何使用 Servlet 从 POST 请求中获取 JSON 数据
【发布时间】:2014-04-04 05:27:48
【问题描述】:

这是我在客户端的代码:

 $.ajax({
                    type:'POST',
                    charset:'utf-8',
                    url:'http://localhost:8180/GisProject/MainService',
                    data:JSON.stringify(params),
                    success:function(msg)
                    {
                        console.log(msg);
                    },
                    error:function(xhr,status)
                    {
                        console.log(status);
                    },      
                    contentType:"application/json"  
            });

我之前在 Node 中使用 express.bodyParser 解析过这些数据,但现在我必须使用 servlet 解析它。我看到人们在这里分配变量而不使用 JSON.stringify 并使用 request.getParameter(myData) 获取该变量。

JSON 数据导入servlet 的标准方法是什么?

为什么人们似乎在发送 Javascript objects 并将 JSON 作为字符串嵌入到 data:{mydata:JSON.stringify(actualData)} 中?

如果我不清楚,我想使用doPost 方法的request 对象来获取我从客户端发送的数据。

【问题讨论】:

标签: java jquery json servlets


【解决方案1】:

在 servlet 的服务器端,您可以从 request.getReader() 读取 POST 数据负载

您可以使用像 GSON 这样的 JSON 库来解析 JSON。比如:

YourClass obj = new Gson().fromJson(request.getReader(), YourClass.class)

【讨论】:

  • 这很有帮助。谢谢。
  • 拯救了我的一天......谢谢..像魅力一样工作。!!
【解决方案2】:

试试这个:

 $.ajax({
            type:"POST",
            url:'http://localhost:8180/GisProject/MainService',
            data:{mydata:JSON.stringify(params)},
            datatype:"json",
            success:function(msg)
            { 
               console.log(msg);
            },
            error:function(xhr,status)
            {
                 console.log(status);
             }, 
        });

【讨论】:

  • 这是否将 myData 附加到 url 的末尾并将其作为 get 参数发送?另外,我从服务器获得的输出不是 dataType 吗?
【解决方案3】:

您可以将请求和响应对象发送到 doGet 方法,然后以相同的方式获取 json。

发送对象到doGet的方式

doGet(请求,响应);在 post 方法中调用它。

【讨论】:

  • 但我想使用POST 发送它并想在doPost 中解析它们
【解决方案4】:

希望这对您有所帮助:

var obj = jQuery.parseJSON('{ "name": "John" }' ); 警报(obj.name ===“约翰”);

【讨论】:

    猜你喜欢
    • 2015-11-20
    • 2020-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多