2016-08-01 41 views
0

vorbei, den geheimen Schlüssel in den übrigen Service abzurufen und den Antwortcode überprüfen, ob der Antwortcode = 200 dann alles, was ich sammeln, um die HTTP-Response-HeaderHTTP-Response-Header - wie bestimmten Wert aus der HTTP-Response-Header java

if (responseCode == 200) { 
      bufferReader = new BufferedReader(new InputStreamReader((connection.getInputStream()))); 
    String output; 
    StringBuilder builder = new StringBuilder(); 
    System.out.println("Output from Server .... \n"); 
    while ((output = bufferReader.readLine()) != null) 
      builder.append(output); 
    System.out.println(builder.toString());  
}  

Ausgang

{ "issued_at" : "1470049186841", 
    "scope" : "core", 
"status" : "approved", 
"api_product_list" : "[prod]", 
"expires_in" : "1199", 
"token_type" : "BearerToken", 
"access_token" : "mX1GlCBhipXSeGi7YRBAr0KvS03J", 
"refresh_token_expires_in" : "0", 
"refresh_count" : "0"} 

vom Ausgang ich will

Hinweis nur die access_token Wert auszuwählen: unterhalb der Salesforce-Code, iw Ameise konvertieren in java

Map<String,String> responseMap= new Map<String,String>())JSON.deserialize(res.getBody(),Map<String,String>.class); 
      return responseMap.get("access_token"); 

Aktualisiert: Gson api Code unten

Gson gson = new Gson(); 
      Map<String, Object> map78 = new HashMap<>(); 
      map78 = (Map<String, Object>) gson.fromJson(output, map.getClass()); 

aber ich bin immer null Wert

+1

Suchen Sie nach der Google Gson API, überprüfen Sie die "gson.fromJson()" -Funktion –

+0

Gson gson = new Gson(); Karte map78 = neue HashMap <>(); map78 = (Karte ) gson.fromJson (output, map.getClass()); – Prabu

+0

Ich bekomme null Wert, ist das korrekt (Code eingefügt in der oben genannten sowie in meiner Frage – Prabu

Antwort

0

mit Hilfe von Marcel Ich erhalte die Antwort mit Gson

BufferedReader br = null; 
     String output = null; 
     Map<String, Object> responseToken = new HashMap<>(); 
     if (responseCode == 200) { 
      br = new BufferedReader(new InputStreamReader((connection.getInputStream()))); 
      StringBuilder builder = new StringBuilder(); 
      while ((output = br.readLine()) != null) { 
       builder.append(output);    
      } 
      Gson gson = new Gson();   
      responseToken = (Map<String, Object>) gson.fromJson(builder.toString(), responseToken.getClass()); 
      System.out.println("from map" + responseToken); 
     } 
     System.out.println ("access token Key "+responseToken.get("access_token"));