【问题标题】:How can I get one part from a response in java? [duplicate]如何从 java 中的响应中获取一部分? [复制]
【发布时间】:2016-01-31 14:37:51
【问题描述】:

我的回复如下:

{"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 范围。

谢谢!

【问题讨论】:

标签: java json string


【解决方案1】:

数据为 JSON 格式。使用JsonReader类解析,然后提取session_id值

【讨论】:

    【解决方案2】:

    最好将此输入字符串转换为 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){
    
        }
    

    【讨论】:

      【解决方案3】:

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

      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);
      

      【讨论】:

      • 谢谢你对我的工作非常好,我可能会稍后检查 Json 解析,但现在它与你的解决方案一起工作,谢谢!
      猜你喜欢
      • 2012-06-15
      • 2021-10-25
      • 2015-12-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-12
      • 2018-06-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多