我是json解析的新手,并且很受欢迎。我必须解析以下内容: -
[
{
"firstname": abc,
"lastname": xyp,
"designation" : executive,
"user": {
"username": "xypabc",
"userid": 4003,
},
},
{
"firstname": pqr,
"lastname": vbn,
"designation" : security,
"user": {
"username": "vbnpqr",
"userid": 11231,
},
},
{
"firstname": ghk,
"lastname": lkj,
"designation" : manager,
"user": {
"username": "lkjghk",
"userid": 774,
},
}
]
我需要从上面获取“login”和“userid”。以下是我写的代码: -
try {
JSONArray jsonObj = new JSONArray(response);
for(int i=0 ; i<jsonObj.length(); i++)
{
JSONObject json_Data = jsonObj.getJSONObject(i);
String userName = json_Data.getString("username");
String userId = json_Data.getString("userid");
Log.d("Factors","UserName :- "+userName+" ID :- "+userId);
}
}catch (JSONException e) {
Log.d("Failure","Dude I have failed");
}.
问题是我的代码最终会出现异常。 请帮忙!!!
答案 0 :(得分:1)
username
和userid
在user
JSONObject内解析用户JSONObject,然后获取用户名和用户ID的字符串。
这样做可以获得username
和userid
for(int i=0 ; i<jsonObj.length(); i++)
{
JSONObject json_Data = jsonObj.getJSONObject(i);
String userName = json_Data.getJSONObject("user").getString("username");
String userId = json_Data.getJSONObject("user").getString("userid");
Log.d("Factors","UserName :- "+userName+" ID :- "+userId);
}
答案 1 :(得分:1)
试试这段代码::)
JSONArray jsonObj = new JSONArray(response);
for(int i=0 ; i<jsonObj.length(); i++)
{
JSONObject json_Data = jsonObj.getJSONObject(i);
String firstname = json_Data.getString("firstname");
String lastname = json_Data.getString("lastname");
String designation = json_Data.getString("designation");
JSONArray jsons1 = json_Data.getJSONArray("user");
for (int j = 0; j < jsons1.length(); j++) {
JSONObject jsonss = jsons1.getJSONObject(j);
String username = jsonss.getString("username");
String userid = jsonss.getString("userid");
}
}
}catch (JSONException e) {
Log.d("Failure","Dude I have failed");
}
答案 2 :(得分:0)
解析:&#34;用户&#34;
try {
JSONArray jsonObj = new JSONArray(response);
for(int i=0 ; i<jsonObj.length(); i++)
{
JSONObject json_Data = jsonObj.getJSONObject(i);
JSONObject user = json_Data.getJSONObject("user");
String userName = user.getString("username");
String userId = user.getString("userid");
Log.d("Factors","UserName :- "+userName+" ID :- "+userId);
}
}catch (JSONException e) {
Log.d("Failure","Dude I have failed");
}
答案 3 :(得分:0)
JSONArray jresult = new JSONArray(response);
jresult = json.getJSONArray("user");
for (int i = 0; i < jresult .length(); i++)
{
JSONObject obj = jresult .getJSONObject(i);
String username=obj.getString("username");
int userid=obj.getInt("userid");
}
答案 4 :(得分:0)
if(result != null)
{
try
{
JSONObject jobj = result.getJSONObject("result");
String status = jobj.getString("status");
if(status.equals("true"))
{
JSONArray array = jobj.getJSONArray("user");
for(int x = 0; x < array.length(); x++)
{
HashMap<String, String> map = new HashMap<String, String>();
map.put("username", array.getJSONObject(x).getString("username"));
map.put("userid", array.getJSONObject(x).getString("userid"));
list.add(map);
}
CalendarAdapter adapter = new CalendarAdapter(Calendar.this, list);
list_of_calendar.setAdapter(adapter);
}
}
catch (Exception e)
{
e.printStackTrace();
}