我需要您的帮助才能将JSON从JQuery AJAX读取到我的servlet。
我想解析ajax调用jsonObject的内部数据。

我的代码获取facebook用户信息,并将相关数据传递给json,然后将AJAX调用发送给servlet。
如何在servlet请求中读取这些参数?

 var jsonUserInfo = [];
      jsonUserInfo.push({"id"           :   (response["id"]         ? response["id"]            : "wnull")});
      jsonUserInfo.push({"first_name"   :   (response["first_name"] ? response["first_name"]    : "wnull")});
      jsonUserInfo.push({"last_name"    :   (response["last_name"]  ? response["last_name"]     : "wnull")});
      jsonUserInfo.push({"username" :   (response["username"]   ? response["username"]      : "wnull")});
      jsonUserInfo.push({"birthday"     :   (response["birthday"]   ? response["birthday"]      : "wnull")});
      jsonUserInfo.push({"gender"       :   (response["gender"]     ? response["gender"]        : "wnull")});
      jsonUserInfo.push({"relationship_status": (response["relationship_status"] ? response["relationship_status"] : "wnull")});
      jsonUserInfo.push({"timezone" :   (response["timezone"]   ? response["timezone"]      : "wnull")});
      jsonUserInfo.push({"locale"   :   (response["locale"]     ? response["locale"]        : "wnull")});
      jsonUserInfo.push({"verified"     :   (response["verified"]   ? response["verified"]      : "wnull")});
      jsonUserInfo.push({"updated_time":    (response["updated_time"] ? response["updated_time"]: "wnull")});
      jsonUserInfo.push({"interested_in": (response["interested_in"] ? response["interested_in"] : [])});
      jsonUserInfo.push({"meeting_for":     (response["meeting_for"] ? response["meeting_for"]  : [])});


这是我的ajax调用:

$.ajax({ url: "MainController",
     type:"POST",
     data: ({   "action"    : "setFacebookUserInfo",
                "userInfo"  : jsonUserInfo,
                "servlet"   : "UserProfile"
            }),
     dataType:"json",
     contentType: "application/x-www-form-urlencoded; charset=UTF-8",
     success: function(data){
        alert("here");
     },
     cache: true,
     ifModified: true
    });


如何使用HttpServletRequest解析Servlet中的“ jsonUserInfo”对象?
我正在使用JSON-org jar。

谢谢,
我做

最佳答案

我不了解JSON-org,但是使用JSON-simple只会执行JSONObject jsonobject = (JSONObject)(new JSONParser().parse(jsonstring));JSONArray jsonarray = (JSONArray)(new JSONParser().parse(jsonstring));

在org.json中,这似乎是按照以下步骤完成的:JSONObject jsonobject = new JSONObject(new JSONTokener(jsonstring));JSONArray jsonarray = new JSONArray(new JSONTokener(jsonstring));

关于java - 如何使用json将ajax读取到servlet,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5687250/

10-15 09:43