Во-первых, используйте такие сайты, как jsonprettyprint.com , чтобы легко читать json.
Это ваш JSON в гораздо более читаемой форме:
{
"orgs": [
{
"id": 1551,
"employeeId": 1501,
"orgId": "1151",
"employeeOrgMembershipStatus": "MEMBER",
"employeeRole": "SUPER_ADMIN",
"lMb": "alvin",
"lMd": "2019-06-01T05:41:00Z"
}
],
"employee": {
"id": 1501,
"employeeStatus": "ACTIVE",
"userId": "SU9iegDhr3b9r3gCUZzXl9eQjEJ2",
"name": "Alvin J Babu",
"cB": "alvin",
"cD": "2019-06-24T05:41:00Z",
"lMb": "alvin",
"lMd": "2019-06-27T05:41:00Z",
"computedTotalActivityScore": 5,
"stars": 2,
"jobTitle": "Developer",
"visibility": "ORGANIZATION",
"asset": null,
"reportsTo": null
},
"teams": [
{
"id": 1601,
"employeeId": 1501,
"teamId": "1251",
"employeeTeamMembershipStatus": "MEMBER",
"lMb": "alvin",
"lMd": "2019-06-25T05:41:00Z"
}
],
"status": 1
}
Внутри JSON все, что ограничено {}
, является JSONObject, а все, что ограничено []
, является JSONArray.
В вашем случае, как вы можете видеть в приведенном выше JSON, ключ "employee" имеет значение JSONObject, а не JSONArray, как вы написали в своем коде.
После того, как вы получите JSONObject ключа сотрудника, вы можете напрямую получить из него строку «name», используя employee.getString("name")
.
Ваш код после внесения вышеуказанных изменений будет выглядеть примерно так:
public void onResponse(JSONObject response) {
try {
JSONObject employee=response.getJSONObject("employee");
String employeeName=employee.getString("name");
Log.d(TAG, "onResponse emp: "+employeeName);
}
catch (JSONException e) {
e.printStackTrace();
}
}