【发布时间】:2015-02-07 07:46:28
【问题描述】:
Json ::
{"userinfo":[{"id":"4","name":"Md Abu Hasan Masud","email":"abuhasanmasud@gmail.com","image":"54c0952d7c7500.607043061421907245. jpg","imgLink":"http://dbtel.net/contactmanager/uploads/54c0952d7c7500.607043061421907245.jpg","imgthumbLink":"http://dbtel.net/contactmanager/uploads/thumbs/54c0952d7c7500.607043061421907245. jpg","mobile_number":"01722761395","phone_number":"01711107287","designation":"软件工程师","department":"业务发展","关注":"DBL Telecom Ltd"}]}
这是 json。当我想通过一些字符串变量解析它时,我只得到前三个变量值,其他变量为空。
代码:
{
// Creating service handler class instance
ServiceHandler sh = new ServiceHandler();
// Making a request to url and getting response
String jsonSt = sh.makeServiceCall(url, ServiceHandler.GET);
Log.e("Json String===", ""+jsonSt);
if (jsonSt != null) {
try {
JSONObject jsonObj = new JSONObject(jsonSt);
jSongArray = jsonObj.getJSONArray(TAG_EMPLOYEE);
JSONObject oneObject = jSongArray.getJSONObject(0);
sName = oneObject.getString(TAG_EMPLOYEE_NAME);
sDesignation = oneObject.getString(TAG_DESIGNATION);
sDepartment = oneObject.getString(TAG_DEPARTMENT);
sJoinDate = oneObject.getString(TAG_JOIN_DATE);
sImagePath = oneObject.getString(TAG_IMAGE_PATH);
sEmail = oneObject.getString(TAG_EMAIL);
sMobileNumber = oneObject.getString(TAG_MOBILE_NUMBER);
sPhoneNumber = oneObject.getString(TAG_PHONE_NUMBER);
sConcern=oneObject.getString(TAG_CONCERN);
} catch (JSONException e) {
e.printStackTrace();
}
} else {
Log.e("ServiceHandler", "Couldn't get any data from the url");
}
return null;
}
在这里我得到姓名、职务和部门,但我得到其他空值。我认为这是一个奇怪的问题。当我把其他变量放在前面时,其他三个变量得到了 value 。这三个为空。 实际上总之只有前三个变量获得值。其他为空。
【问题讨论】:
-
还显示用于从 JSONObject 检索值的键
-
按键没有问题。前三个总是有价值的。
-
私有静态最终字符串 TAG_EMPLOYEE = "userinfo";私有静态最终字符串 TAG_EMPLOYEE_NAME = "名称";私有静态最终字符串 TAG_DESIGNATION = "指定";私有静态最终字符串 TAG_JOIN_DATE = "join_date";私有静态最终字符串 TAG_MOBILE_NUMBER = "mobile_number";私有静态最终字符串 TAG_IMAGE_PATH = "imgthumbLink";私人静态最终字符串 TAG_DEPARTMENT = "部门";私有静态最终字符串 TAG_PHONE_NUMBER = "phone_number"; private static final String TAG_EMAIL = "email";
标签: android