2017-02-22 3 views
0

gibt es einige Websites, die Endpunkt aufrufen und erhalten eine JSON-Antwort. Ich würde gerne wissen, wie in myAndroid App ich die Website aufrufen und die JSON-Daten abrufen kann, die er zeigt. Beispiel: Dies ist ein DriveNow-SitemapAndroid Get Json Antwort der Website Anruf

drivenow map link

wenn ich Debug-Modus des Browsers öffnen Ich sehe das Ajax-Aufruf, der eine josn Antwort geben. Ich würde gerne wissen, ich kann diese Website anrufen und nehmen (Grap) diese Antwort in meiner Android-App, so kann ich die JSON verwenden Irgendeine Idee? Hilfe? Danke

+0

Sie sollten die URL des Web-Service mit Ihren Browser-Entwickler-Tools abrufen können. (Sie benötigen wahrscheinlich eine Autorisierung von der Website, um ihren Webservice zu nutzen) –

Antwort

0

Sie können GET/POST-Anfrage auf zwei Arten durchführen.

Einige 3rd-Party-Netzwerk Anfrage Bibliotheken

Ich würde mit robospice vorschlagen. Mit robospice führen Sie eine Netzwerkanfrage durch und geben ihr einen POJO. Für weitere Informationen auf den Link siehe unten POJO

https://github.com/stephanenicolas/robospice/wiki/Starter-Guide

What is RoboSpice Library in android

mit nativen Android/Java-Code

Mit dieser Funktion kann JSON von URL zu erhalten.

public static JSONObject getJSONObjectFromURL(String urlString) throws IOException, JSONException { 

HttpURLConnection urlConnection = null; 

URL url = new URL(urlString); 

urlConnection = (HttpURLConnection) url.openConnection(); 

urlConnection.setRequestMethod("GET"); 
urlConnection.setReadTimeout(10000 /* milliseconds */); 
urlConnection.setConnectTimeout(15000 /* milliseconds */); 

urlConnection.setDoOutput(true); 

urlConnection.connect(); 

BufferedReader br=new BufferedReader(new InputStreamReader(url.openStream())); 

char[] buffer = new char[1024]; 

String jsonString = new String(); 

StringBuilder sb = new StringBuilder(); 
String line; 
while ((line = br.readLine()) != null) { 
    sb.append(line+"\n"); 
} 
br.close(); 

jsonString = sb.toString(); 

System.out.println("JSON: " + jsonString); 

return new JSONObject(jsonString);} 

Dann ist es wie folgt verwenden:

try{ 
    JSONObject jsonObject = getJSONObjectFromURL(String urlString); 

    // Parse your json here 

} catch (IOException e) { 
    e.printStackTrace(); 
} catch (JSONException e) { 
    e.printStackTrace(); 
} 

Vergessen Sie nicht, Internet Erlaubnis in Ihrem Manifest

<uses-permission android:name="android.permission.INTERNET" /> 

Für weitere Informationen über das Parsen von JSON Besuch How to parse JSON in Android

hinzufügen Hinweis

Sie müssen Ihren JSON nicht manuell analysieren, wenn Sie eine Bibliothek eines Drittanbieters verwenden.