从已从JSON对象派生的服务器拆分响应

时间:2011-09-20 11:15:38

标签: android

我的任务是在传递用户名和密码后将响应从Web服务器拆分。

我附上了一张图片,可以让我的问题更加清晰 Logcat

正如您在突出显示的行中所看到的,我想分别检索每个参数并在logcat上显示它。我应该使用什么类型的功能?另外一些为我提供示例的链接会有很大帮助。

干杯

4 个答案:

答案 0 :(得分:2)

您可以使用GSON库来实现相同的 EXAMPLE

答案 1 :(得分:1)

这可以帮助您入门:

JSONObject object=null;
try {
    object = (JSONObject) new JSONTokener(response).nextValue();

    JSONObject session=object.getJSONObject("session");
    String sessionid=session.getString("sessionid");
} catch (JSONException e) {
    e.printStackTrace();
}

答案 2 :(得分:1)

您应该使用JSON

在您的情况下,您可以像这样检索名称和会话ID:

     //Get the session json
     JSONObject respJson=new JSONObject(resonseString).getJSONObject("session");
     String name=respJson.getString("name");
     String sessionId=respJson.getString("sessionId");

答案 3 :(得分:1)

从您编写的内容开始,我假设您从服务器获取响应作为JSONObject,并且您想要传递它。

如果您正在使用JSONObject,那么

JSONObject jsonObj = new JSONObject("resultString"); 
JSONObject sessionJson =  jsonObj.getJSONObject("session");
String sessionId = sessionJson.getString("sessionid");
String name = sessionJson.getString("name");
Log.v("The name is"+name,"The session id is "+sessionId);

这里resultString是您将从服务器接收响应的JSONObject。您需要执行的解析的第一部分存储在“sessionJson”

{"session":{"sessionid":"0x000000000176f141:1000:125","name":"Andreas Öh"}}

你的第二部分,即“sessionid”,将存储在sessionId中,直到你得到名字为止。

希望您发现解释有用。 祝你好运!