创建JSON对象的JavaScript和发送它与Servlet [英] Creating json object in javascript and sending it to servlet

查看:118
本文介绍了创建JSON对象的JavaScript和发送它与Servlet的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创造JSON对象来保存数据,然后将其发送给servlet。但是,当我尝试检索对象,并在的Java Servlet中显示其内容,这引发了我一个错误说一个JSONObject的文字必须以{以1字2号线1]。我不知道如何显示在Java中的JSON对象是被送到从JavaScript。下面是我在做什么:

i am creating json object to save data and then sending it to the servlet. But when i try to retrieve the object and display its contents in java servlet, it throws me an error saying " A JSONObject text must begin with '{' at 1 [character 2 line 1]". I do not know how to display the json object in java which is been sent from javascript. Here's what i am doing:

的Javascript code:

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]);
}
}

发送对象的servlet使用jQuery的Ajax:

    var param = 'objarray=' +arrayOfObjects;

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

我获得成功的消息,一旦我所说的阿贾克斯。现在,我收到此对象的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或字符串?

The message i see in my console is the error " A JSONObject text must begin with '{' at 1 [character 2 line 1]". How do i parse the object and form an xml or string?

推荐答案

在你需要的JSON数组首先转换为Java POJO bean是能够事情Java端(容易)用它做什么。有多个API来做到这一点;谷歌GSON和杰克逊有两种可能性。

On the Java side of things you need to convert the JSON array to a Java POJO bean first to be able to (easily) do something with it. There are multiple APIs to do this; Google GSON and Jackson are two possibilities.

杰克逊内部使用的球衣,参考实现的JAX-RS API的;它的工作原理相当不错,在我的经验。

Jackson is used internally by Jersey, the reference implementation of the JAX-RS API; it works very well in my experience.

这篇关于创建JSON对象的JavaScript和发送它与Servlet的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆