Android getstring()在jsonparsing中提供空值
我从服务器得到以下响应Android getstring()在jsonparsing中提供空值,android,json,Android,Json,我从服务器得到以下响应 {"RESPONSE":"ATTENDANCE","STATUS":"SUCCESS","projid":1,"invalid_labours":[]}. 我编写了以下解析代码 JSONObject jsonObj = new JSONObject(attendanceResponse); String response = jsonObj.getString("RESPONSE); String status = jsonObj.getString(
{"RESPONSE":"ATTENDANCE","STATUS":"SUCCESS","projid":1,"invalid_labours":[]}.
我编写了以下解析代码
JSONObject jsonObj = new JSONObject(attendanceResponse);
String response = jsonObj.getString("RESPONSE);
String status = jsonObj.getString("STATUS);
String projectID = jsonObj.getString("projid");
JSONArray invalidLaborId = jsonObj.getJSONArray("invalid_labours");
但它在获取projid字段时给出空指针Replace
String projectID = jsonObj.getString("projid");
stringprojectid=jsonObj.getString(“projid”)代码>
与
projid有一个整数值,如果需要字符串,请尝试以下操作:
String projectID = String.valueOf(jsonObj.getInt("projid"));
替换
String projectID = jsonObj.getString("projid");
与
同时,你似乎缺少了一个双引号
-------------------------------------------------------------------------\/
String response = jsonObj.getString("RESPONSE");
当您试图从JSONObject
获取值时,请尝试使用optXXX()
方法
在您的情况下,您是projectID
是int-so
int projectID = jsonObj.optInt("projid");
optXXXX()
和getXXXX()
方法之间的区别
optInt()
获取与键关联的可选int值,如果没有此类键或该值不是数字,则获取零。如果该值是字符串,将尝试将其作为数字计算
getInt()
获取与键关联的int值
此方法引发:JSONException
-如果找不到键或无法将值转换为整数。这不会编译,getInt返回一个int,正如方法名称所示…@0699:答案已编辑。2Dee的评论在发布时是正确的,但在编辑后现在不是了;getString(“响应”);JSON中有不同的数据类型:
int projectID = jsonObj.optInt("projid");