簡體   English   中英

如何檢查 JSON 數組的 object 是否包含 Android Java 中具有特定名稱的數字?

[英]How can I check if object of JSON array contains number with certain name in Android Java?

我有這個 JSON 數組,我需要檢查它的每個 object 是否像第一個 object 那樣有一個“雨”數。 如何在Java、Android中實現? 我正在制作一個 android 應用程序,它需要分析某天是否下雨。

 "daily": [
        {
            "dt": 1597730400,
            "sunrise": 1597705822,
            "sunset": 1597758442,
            "temp": {
                "day": 299.15,
                "min": 288.84,
                "max": 299.15,
                "night": 288.84,
                "eve": 298.91,
                "morn": 299.15
            },
            "feels_like": {
                "day": 291.47,
                "night": 287.34,
                "eve": 293.53,
                "morn": 291.47
            },
            "pressure": 997,
            "humidity": 27,
            "dew_point": 278.72,
            "wind_speed": 9.52,
            "wind_deg": 200,
            "weather": [
                {
                    "id": 500,
                    "main": "Rain",
                    "description": "light rain",
                    "icon": "10d"
                }
            ],
            "clouds": 100,
            "pop": 0.86,
            "rain": 1.03,
            "uvi": 4.86
        }

您想要檢查響應中是否返回了"rain"屬性。

為此,請按照下列步驟操作:

  1. 為JSON數組中的object創建一個class。
  2. 使用 Gson 或 Android 中的任何其他 JSON 庫將獲取的 JSON 轉換為創建的 class object。
  3. 然后檢查 rain 是否不是 null 並且 rain 是否不等於 0 以確認 rain 屬性存在於數組中的 JSON 對象中。
String yourJSONString; //should hold the JSON you have 
JSONArray c = JSONArray(yourJSONString);
    for (int i = 0 ; i < c.length(); i++) {
        JSONObject obj = c.getJSONObject(i);
        if(obj.has("rain")){
          //object has "rain" property
        }
        else{
          //object doesnt have "rain" property
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM