使用Servlet的Jquery来获取数据库JSON数组对象

时间:2011-04-28 10:48:08

标签: java jquery json servlets

Stackoverflow团队成员。

我正在努力解决我的问题。 实际上在我的应用程序中,我想使用Jquery和Json与Servlet。在我的应用程序中有一个JSP Servlet页面可以输入详细信息条目,如user_nameuser_address等。

所有这些数据都将使用jquery ajax发送到数据库。现在我想要以json数组对象的形式检索使用json插入到数据库的所有记录。

我能够将记录插入数据库,但我不知道如何将它们从数据库恢复到json对象数组,以便我可以再次使用它们。在另一个jsp servlet页面中。

帮我解决问题。

最诚挚的问候
Yogendra

2 个答案:

答案 0 :(得分:1)

首先,您需要对servlet进行Ajax调用,请参阅以下代码:

    $.getJSON("yourServlet", function(json) {
    alert("JSON Received Data: " + json);
    //Logic to Parse the received JSON
    });
   </script>

其次在服务器端使用其特定格式构造JSON对象,如:

{
    "firstName": "John",
    "lastName": "Smith",
    "address": {
        "streetAddress": "21 2nd Street",
        "city": "New York",
        "state": "NY",
        "postalCode": 10021
    },
    "phoneNumbers": [
        "212 732-1234",
        "646 123-4567"
    ]
}

现在构建数据库中插入记录的列表,请参阅以下示例代码,该代码显示如何在JSON中构建记录列表:

List mybeanList = new ArrayList();
mybeanList.add(myBean1);
mybeanList.add(myBean2);

JSONArray jsonArray = JSONArray.fromObject(mybeanList);
System.out.println("==== : "+jsonArray);

Map map = new HashMap();
map.put("beanlist", jsonArray);

JSONObject jsonObject = JSONObject.fromObject(map);
return jsonObject;

最后在jsp中解析收到的JSON响应(使用javascript或任何其他替代方法)......

如果您遇到任何有关JSON的问题,请使用this tutorial

答案 1 :(得分:0)

您需要与数据库服务器端建立连接,将记录从数据库中提取出来(可能根据ajax请求中的数据进行过滤?查看data .getJSON属性然后你的服务器需要在JSON中格式化它。在PHP中,您将使用json_encode($data_array) - 然后只需echo将其返回给客户端。对于jQuery请求:

   $.getJSON('http://site.com/ajax/get-latest-posts', {
         success: function(jsonObject) {
             // jsonObject[0].author, for example.
         }
   });