org.json.JSONException异常求助:JSONObject["minutes"]未找到
JSON字段访问错误排查:无法获取minutes字段
问题原因
你的代码存在不必要的JSONObject重复包装,破坏了原本的JSON层级结构,导致最终无法定位到minutes字段。
原JSON层级梳理
{ "reminders": { "overrides": [{"method":"email","minutes":1440}], "useDefault":"false" } }
reminders本身就是一个JSONObject,无需额外包装overrides是JSONArray,其第一个元素就是包含minutes的JSONObject,无需再次包装
修正后的代码
如果需要获取int类型的minutes:
int remMinutes = jsonFromSolJSON.getJSONObject("reminders") .getJSONArray("overrides") .getJSONObject(0) .getInt("minutes");
如果需要转为String类型:
String remMinutes = String.valueOf(jsonFromSolJSON.getJSONObject("reminders") .getJSONArray("overrides") .getJSONObject(0) .getInt("minutes"));
原代码错误点说明
原代码中new org.json.JSONObject(jsonFromSolJSON.getJSONObject("reminders"))和new org.json.JSONObject(...)这两步重复包装操作,会生成新的JSONObject实例,丢失了原本的字段关联,最终导致找不到minutes字段。
内容的提问来源于stack exchange,提问作者Avinash Sirohi
相关产品推荐
相关产品推荐

