0

DATA配列内の情報を取得しようとしていますが、何も取得しません。Dark SkyAPIからこのデータを解析しています:

hourly: {
summary: "Mostly cloudy later this morning.",
icon: "partly-cloudy-day",
data: [
{
time: 1364389200,
summary: "Partly Cloudy",
icon: "partly-cloudy-night",
precipIntensity: 0,
temperature: 29.8,
windSpeed: 2.44,
windBearing: 60,
cloudCover: 0.41,
humidity: 0.88,
pressure: 831.54,
visibility: 6.15
},
{
time: 1364392800,
summary: "Partly Cloudy",
icon: "partly-cloudy-day",
precipIntensity: 0,
temperature: 29.26,
windSpeed: 2.95,
windBearing: 45,
cloudCover: 0.36,
humidity: 0.88,
pressure: 832.05,
visibility: 6.14
}..................}

データ配列をループしたいと思います。

これを行うことで時間別データを取得します。

String hourly = json.getString("hourly");

ただし、1時間ごとの文字列内からデータ配列を取得していません。私は何が欠けていますか?

私はここで正しい道を進んでいますか:

   JSONObject h = json.getJSONObject("hourly");
    String d = json.getString("data");

JSONArray a = h.getJSONArray("data");

                for(int i = 0; i < a.length(); i++){
                    // Pulling items from the array
                    String s = h.getString("summary");
                    String t = h.getString("temperature");
                    aq.id(R.id.tv).text("Summary: " + s + "Temp: " + t);
                }
4

4 に答える 4

2

あなた自身がそれを述べたように、あなたはそれを使う必要がありJSONArrayます、そのデータはarrayあなたの中にありますJSONObject

JSONArray dataArray = hourlyObj.getJSONArray("data");
于 2013-03-27T14:29:28.343 に答える
2

あなたHourlyはJSONObjectであり、その中にJSONArrayorg.json APIを使用して名前付きデータを入れると、次のコードを使用して簡単にループスローできます。

   JSONObject hourly = new JSONObject(json.getString("hourly"));
   JSONArray array = hourly.getJSONArray("data");
   for (int i=0; i< array.length(); i++){
       JSONObject obj = data.getJSONObject(i);
         //do whatever you want with your data 
   }
于 2013-03-27T14:34:16.250 に答える
1

JSONArrayを取得し、を取得するために使用します。dataJSONObjecthourly

時間単位のオブジェクト

JSONObject hourlyObj = json.getJSONObject("hourly");

データ配列

JSONArray yourdataArray = hourlyObj.getJSONArray("data"); 
// loop it
 for(int i=0;i<jsonArray.length();i++){  
         JSONObject json_data = jsonArray.getJSONObject(i);
         String time = json_data.getString("time");
         // and so on 
     }

データ内のすべての値を取得します。

于 2013-03-27T14:32:45.713 に答える
0

これが役立つサンプルスニペットです。

JSONObject jObj = new JSONObject(results);
                JSONArray albums = jObj.getJSONArray("pickups");

                for (int i = 0; i < albums.length(); i++) {
                    JSONObject c = albums.getJSONObject(i);
                    String  id = c.getString("id");

                    Record objRecord=new Record();
                    objRecord.setId(c.getString("id"));
                    objRecord.setName(c.getString("name"));
                    objRecord.setNumber(c.getString("number"));
                    objRecord.setTime(c.getString("time"));

                    PickupList.arrayList.add(objRecord);

                }
于 2013-03-27T14:36:51.403 に答える