2017-02-22 9 views
0

エンドポイントを呼び出してjsonレスポンスを受け取るウェブサイトがいくつかあります。 私はmyAndroidアプリでどのようにWebサイトを呼び出して、彼が表示するjsonデータを取得できるか知りたいと思います。 例:これは私がブラウザのデバッグモードを開いた場合、私はjosn応答を与える。このAJAX呼び出しを参照してくださいdrivenowサイトマップAndroidウェブサイトコールのjsonレスポンスを取得する

drivenow map link

です。 私はこのウェブサイトを呼び出すことができ、私のアンドロイドアプリでこの応答を取る(グラップ)ことができるので、私はjsonを使用することができます。 アイデアはありますか?助けて? ありがとう

+0

ブラウザ開発ツールを使用して、WebサービスのURLを取得できるはずです。 (Webサービスを使用するには、おそらくWebサイトからの承認が必要です) –

答えて

0

GET/POSTリクエストは、2通りの方法で実行できます。

サードパーティのネットワークリクエストライブラリ

私はrobospiceを使用することをお勧めします。 robospiceを使用してネットワーク要求を実行し、POJOを与えます。 POJOの詳細情報についてはURLからJSONを取得する

この機能を使用し、ネイティブのAndroid/Javaコードを使用して

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

What is RoboSpice Library in android

以下のリンクを参照してください。

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

次に、このようにそれを使用します。

try{ 
    JSONObject jsonObject = getJSONObjectFromURL(String urlString); 

    // Parse your json here 

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

JSON訪問 How to parse JSON in Android

を解析する上でより多くの情報については、マニフェスト

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

にインターネットのアクセス許可を追加することを忘れないでください。注

サードパーティのライブラリを使用している場合は、jsonを手動で解析する必要はありません。

関連する問題