0

WebサービスからJSONを取得して解析する最も簡単な方法は何ですか?追加のプラグインを使用せずに?

4

4 に答える 4

2

これは、JSONデータを取得して解析するための最良の方法です。私はこれをプロジェクトで使用しましたが、完全にうまく機能します。このチュートリアルをチェックしてください(ソースコードも利用可能です)。JSONを使用している場合は、JavaオブジェクトをJSON表現に変換するためにGooglegsonライブラリが必ず必要になります。こちらからダウンロードできます。

于 2012-05-27T09:40:49.257 に答える
0

標準の手順が必要な場合は、応答を使用JSONObjectJSONArrayて解析する必要があります。ただし、応答文字列に複雑な構造が含まれていると、あいまいで面倒です。このような複雑な応答を処理するには、GsonJackson、またはその他のライブラリへの解析をオフにする方がよいでしょう。

于 2012-05-25T20:12:05.323 に答える
0

ここを見てください:http ://code.google.com/p/android-query/wiki/AsyncAPI

必要なコードサンプルを使用して、すべてが説明されています。

于 2012-05-25T20:14:05.893 に答える
0

以下のコードは、アクティビティ/サービスクラスで使用するだけで、開始点を提供するはずです。URL(Webサービス)からデータを取得し、使用可能なJSONオブジェクトに変換します。

StringBuilder stringBuilder =  new  StringBuilder();
HttpClient client =  new  DefaultHttpClient();
HttpGet httpGet = new  HttpGet(***Put your web service URL here ***)
try
{
    HttpResponse response = client.execute(httpGet);
    StatusLine statusLine = response.getStatusLine();
    int  statusCode = statusLine.getStatusCode();
    if (statusCode == 200)
    {
        HttpEntity entity = response.getEntity();
        InputStream content = entity.getContent();
        BufferedReader reader = new  BufferedReader(
        new  InputStreamReader(content));
        String line;
        while ((line = reader.readLine()) != null)
        {
           stringBuilder.append(line);
        }
     }
} 
catch (ClientProtocolException e)
{
    e.printStackTrace();
}
catch (IOException e)
{
     e.printStackTrace();
}

//Turn string JSON into object you can process
JSONArray jsonArray = new JSONArray(stringBuilder.toString());
for  (int  i = 0; i < jsonArray.length(); i++)
{
     //Get Each element
     JSONObject jsonObject = jsonArray.getJSONObject(i); 
     //Do stuff
}
于 2012-05-25T20:38:22.793 に答える