Java 多層巢狀JSON型別資料解析

簡單來說:

“key”:“value” ——> 此時value為String

“key“:0 ——> 此時value為int

“key”:{“k1”:“v1”} ——> 此時value為JSONObject

“key”:[v] ——> 此時value為JSONArray

以下舉例資料結構:

{ ”error“: 0, ”status“: ”success“, ”results“: [ { ”currentCity“: ”青島“, ”index“: [ { ”title“: ”穿衣“, ”zs“: ”較冷“, ”tipt“: ”穿衣指數“, ”des“: ”建議著厚外套加毛衣等服裝。年老體弱者宜著大衣、呢外套加羊毛衫。“ }, { ”title“: ”紫外線強度“, ”zs“: ”中等“, ”tipt“: ”紫外線強度指數“, ”des“: ”屬中等強度紫外線輻射天氣,外出時建議塗擦SPF高於15、PA+的防曬護膚品,戴帽子、太陽鏡。“ } ] } ]}

解析程式碼

public class Test { public static void main(String[] args) { String s = ”{\“error\”:0,\“status\”:\“success\”,\“results\”:[{\“currentCity\”:\“青島\”,\“index\”:[{\“title\”:\“穿衣\”,\“zs\”:\“較冷\”,\“tipt\”:\“穿衣指數\”,\“des\”:\“建議著厚外套加毛衣等服裝。年老體弱者宜著大衣、呢外套加羊毛衫。\”},{\“title\”:\“紫外線強度\”,\“zs\”:\“最弱\”,\“tipt\”:\“紫外線強度指數\”,\“des\”:\“屬弱紫外線輻射天氣,無需特別防護。若長期在戶外,建議塗擦SPF在8-12之間的防曬護膚品。\”}],}]}“; JSONObject jsonObject = JSONObject。fromObject(s); //提取出error為 0 int error = jsonObject。getInt(”error“); System。out。println(”error:“ + error); //提取出status為 success String status = jsonObject。getString(”status“); System。out。println(”status:“ + status); //注意:results中的內容帶有中括號[],所以要轉化為JSONArray型別的物件 JSONArray result = jsonObject。getJSONArray(”results“); for (int i = 0; i < result。size(); i++) { //提取出currentCity為 青島 String currentCity = result。getJSONObject(i)。getString(”currentCity“); System。out。println(”currentCity:“ + currentCity); //注意:index中的內容帶有中括號[],所以要轉化為JSONArray型別的物件 JSONArray index = result。getJSONObject(i)。getJSONArray(”index“); for (int j = 0; j < index。size(); j++) { String title = index。getJSONObject(j)。getString(”title“); System。out。println(”title:“ + title); String zs = index。getJSONObject(j)。getString(”zs“); System。out。println(”zs:“ + zs); String tipt = index。getJSONObject(j)。getString(”tipt“); System。out。println(”tipt:“ + tipt); String des = index。getJSONObject(j)。getString(”des“); System。out。println(”des:“ + des); } } }}

————————————————

感謝各位讀者的訪問、點贊、轉發。

你們的支援是我創作的動力源泉,將持續更新創作。