如何从java中的响应中获取一个部分?

时间:2016-01-31 14:37:51

标签: java json string

我的回复如下:

{"result":1,"redirect":"","user_login":"Woldo","user_id":"4358970","session_id":
"ab89JBFLrYJ,6-lXKnv-T9wC481"}

我只想要session_id部分ab89JBFLrYJ,6-lXKnv-T9wC481,我正在使用

ReadSession.substring(86, 113); 

但是每当有更长用户名的用户登录时,我都会遇到麻烦,因为它超出了113范围。

谢谢!

3 个答案:

答案 0 :(得分:1)

数据采用JSON格式。使用JsonReader类对其进行解析,然后提取session_id值

答案 1 :(得分:1)

最好将此输入字符串转换为JsonObject,然后从该对象中提取session_id键。如果您使用的是org.json.JSONObject课程,那么您可以尝试使用此代码

String input = //your input
  try {
      JSONObject jsonObject = new JSONObject(input);
      String sessionID = jsonObject.getString("session_id");
    }catch (JSONException e){

    }

答案 2 :(得分:0)

你可以做一些像这样愚蠢的事情用于一般用途

String string = "{\"result\":1,\"redirect\":\"\",\"user_login\":\"Woldo\",\"user_id\":\"4358970\",\"session_id\":\n" +
"\"ab89JBFLrYJ,6-lXKnv-T9wC481\"}";
       int index = string.indexOf("session_id");
       String id = string.substring(index+14, string.length()-2);
        System.out.println(id);