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");