java解析json对象数组

klr1opcd  于 2021-07-05  发布在  Java
关注(0)|答案(1)|浏览(374)

我对使用jquery和json非常陌生。我有一个servlet,它返回一个jsonobject数组(基本上是一个jsonarray对象)。
我试图在javascript中解析这个数组,但在这里遇到了麻烦。我有一个javascript变量“var result”,它从servlet获取结果,并尝试将其解析为结果[0]。例如uniqueid,以获取从服务器发送的uniqueid的值。但这似乎行不通。
下面是JavaServlet代码片段,显示发送到javascript客户机的内容。

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
                    JSONArray arrayObj = new JSONArray();
             List<Folder> children =getFolders(request,response);
             Iterator itr = children.iterator();
             while(itr.hasNext())
             {
                 Folder folder = (Folder) itr.next();
                 obj = new JSONObject();
                 obj.put("uniqueId", folder.getUniqueId());
                 obj.put("folderName", folder.getFolderName());
                 obj.put("size", folder.getSize());
                 obj.put("modified", folder.getModified());

                 arrayObj.add(obj);
             }
            out = response.getWriter();
            response.setContentType("application/json");
            out.println(arrayObj);           
}

这是jquery代码段

$.ajax({
            url: 'getFolders',
            type: 'POST',
            data: 'uniqueID=' + uniqueID ,
            //console.log(data);
            success: function(result) {  
                //parse result
                        alert("JSON result "+ result[0].uniqueId);

                }//end success
    });

请告知如何解析结果。
谢谢deepthi

bbmckpt7

bbmckpt71#

您需要将datatype选项设置为希望从服务器返回的数据类型:

$.ajax({
              dataType: 'json',
              url: 'getFolders',
              type: 'POST',
              data: 'uniqueID=' + uniqueID ,
              //console.log(data);
              success: function(result) {  
              //parse result
                    alert("JSON result "+ result[0].uniqueId);

              }//end success
        });

相关问题