2014-12-02 6 views
-3

Привет Я получаю следующий вывод из кода Java:извлечение значения параметра строки из вывода Java

access_token=CAAW2msiMWaQBAJSLGF1YFU3rJzIzZCFKB3ZAi9UaZCTwOU52s9EEuXXnyV0NBdZApNphWWHGCDP9iCVeI7qliXRCc43IERm5oqBeDplk3fZCLpZBEAwRY2NjKm4o3e4LlCiiUjPLdDNophNOxczJ9fMb2cZCAqILbh2cDnID1i4QZBkKGwGTLuikcz6ptt8ZCl4WifaGtFl5O6fgnbIbgM89f&expires=5181699 

Как получить только значение access_token? мой код ниже:

String line; 
     StringBuffer buffer = new StringBuffer(); 
     BufferedReader reader = new BufferedReader(new InputStreamReader(
       conn.getInputStream())); 

     while ((line = reader.readLine()) != null) 
     { 
      buffer.append(line); 
     } 

     reader.close(); 
     conn.disconnect(); 
     String response1= buffer.toString(); 

Thank YOu.

+0

Ну, я уверен, что есть намного более сложные методы, но нетерпеливый путь (13, 13 + длина-токена), ' –

+0

С guava:' Splitter.on ("&") .KeyValueSeparator ("="). split (yourString); 'дает вам« карту », а затем« get («acc ess_token ")' дает вам желаемое значение. –

ответ

0

вы можете сделать это с помощью раскола() метод строки

Попробуйте это.

String [] response = response1.split("&"); 

System.out.println("My Token : " + response[0]); 

выход будет

access_token=CAAW2msiMWaQBAJSLGF1YFU3rJzIzZCFKB3ZAi9UaZCTwOU52s9EEuXXnyV0NBdZApNphWWHGCDP9iCVeI7qliXRCc43IERm5oqBeDplk3fZCLpZBEAwRY2NjKm4o3e4LlCiiUjPLdDNophNOxczJ9fMb2cZCAqILbh2cDnID1i4QZBkKGwGTLuikcz6ptt8ZCl4WifaGtFl5O6fgnbIbgM89f 

затем, чтобы получить значение access_token попробовать это,

String [] tokenValue = response[0].split("="); 

    System.out.println("My Token Value : " + tokenValue[1]); 
+0

Спасибо, Второ, он сработал! – Raj

+0

приветствую сэр :) наслаждаюсь кодированием :) – Secondo

1

Сначала разделите линию на амперсанд &. Затем разделите каждую клавишу и значение на равные =. Найдите "access_token" и покажите (или используйте) его. Мол,

Смежные вопросы