我正试图获得此{"status": [{"RegistrationID":"4"}]}
来自服务器的值并将该值保存在sharedpreferences中,但这会抛出nullpointerexception这是我正在尝试的代码......
JSONObject o = new JSONObject(result);
JSONObject obj = o.optJSONObject("status");
String uid = obj.optString("RegistrationID");
Log.e("RegistrationID", uid);
AvailableItems set = new AvailableItems();
set.sp = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
String value = set.sp.getString("RegistrationID", uid);
SharedPreferences.Editor editor = set.sp.edit();
editor.putString("first", value);
editor.commit();
此行显示异常`String uid = obj.optString(" RegistrationID");'
答案 0 :(得分:0)
您在结果字符串中获取数组。但是在您的代码中,您将其作为JsonObject获取。 “RegistrationID”包含在一个数组中。 请尝试以下代码。
try {
JSONObject o = new JSONObject(result);
JSONArray obj = o.getJSONArray("status");
JSONObject jsonobj = obj.getJSONObject(0);
Log.e("RegistrationID", jsonobj.getString("RegistrationID"));
} catch (Exception e) {
e.printStackTrace();
}
快乐编码.. !!