小编典典

在javascript中创建json对象并将其发送到servlet

ajax

我正在创建json对象以保存数据,然后将其发送到servlet。但是,当我尝试检索该对象并将其内容显示在Java Servlet中时,它抛出一个错误,提示“
JSONObject文本必须在1 [字符2行1]处以’{‘开头。我不知道如何在Java中显示从javascript发送的json对象。这是我在做什么:

JavaScript代码:

var arrayOfObjects = [];
arrayOfObjects.push({"divid":imageinc,"xCordinates":Xcord,"yCordinates":Ycord,"Height":canvasWidth,"Width":canvasHeight, "PageNo":pageNum});

显示Javascript内容:

for (var i = 0; i < arrayOfObjects.length; i++) {
var object = arrayOfObjects[i];
for (var property in object) {
    alert(property + '=' + object[property]);
}
}

使用jQuery Ajax将对象发送到servlet:

    var param = 'objarray=' +arrayOfObjects;

    $.ajax({
      url: '/ProjectName/finalXmlServGen',
      type: 'POST', 
      dataType: 'json',  
      data: param,
      success: function(result) {
          alert('SUCCESS');
      }
    });

调用ajax后,我会收到成功消息。 现在,我在servlet中收到以下对象:

String objarray = request.getParameter("objarray").toString();
try {
        JSONObject jsonObj = new JSONObject(objarray);

        String xmlString= XML.toString(jsonObj);
        System.out.println("JSON to XML: " + xmlString);
    } catch (JSONException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

我在控制台中看到的消息是错误“ JSONObject文本必须在1 [字符2行1]处以’{‘开头”。我如何解析对象并形成xml或字符串?


阅读 232

收藏
2020-07-26

共1个答案

小编典典

在Java方面,您需要首先将JSON数组转换为Java POJO bean,以便能够(轻松地)对其进行操作。有多种API可以做到这一点;Google
GSON和Jackson是两种可能性。

杰克逊在泽西内部使用,JAX-RS API的参考实现;根据我的经验,它效果很好。

2020-07-26