我有以下 JSON 檔案格式:
{"code":200,
"status":"OK",
"data":[
{"timings":
{"Fajr":"03:11 (EET)",
"Sunrise":"04:54 (EET)",
"Dhuhr":"11:53 (EET)",
"Asr":"15:29 (EET)",
"Sunset":"18:52 (EET)",
"Maghrib":"18:52 (EET)",
"Isha":"20:23 (EET)",
"Imsak":"03:01 (EET)",
"Midnight":"23:53 (EET)"},....
我想獲取Asr(例如)的值并將其決議為字串變數,我嘗試了以下但沒有任何效果(請注意:回應已成功檢索,因此到達 JSON 檔案沒有問題,但只能獲取細繩)。
String mfajr = response1.getJSONArray("data").getJSONObject(0)
.get("Fajr").toString();
String mdoher = response1.getJSONArray("data").getJSONObject(0)
.getJSONArray("timings")
.get(Integer.parseInt("Dhuhr")).toString();
uj5u.com熱心網友回復:
假設這response1是一個JSONObject.
String mfajr = response1.getJSONArray("data")
.getJSONObject(0)
.get("Fajr").toString();
這將失敗,因為getJSONObject(0)回傳一個具有"timings"屬性的物件......而不是"Fajr"屬性。
String mdoher = response1.getJSONArray("data")
.getJSONObject(0).getJSONArray("timings")
.get(Integer.parseInt("Dhuhr")).toString();
這將失敗,因為"timings"屬性的值是 JSON 物件,而不是 JSON 陣列。
此外,該"Dhuhr"屬性的值不是整數,因此parseInt不起作用。如果您希望將值作為整數,您將進行一些字串分析以轉換"11:53 (EET)"為整數。
基本上,您需要確保您的 Java 代碼與 JSON 結構精確匹配。足夠接近還不夠好。
好的....所以您希望有人為您撰寫代碼。
嘗試這個:
String mfajr = response1.getJSONArray("data")
.getJSONObject(0)
.getJSONObject("timings")
.getString("Fajr");
現在,將其與 JSON 的結構進行比較。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/489410.html
