Привет, в приведенном ниже коде я анализирую json с помощью unkonwn key. Он не дает мне никакого ответа. Как только я получу ответ от сервера, я использую счетчик для отображения результатов. Я анализирую json без ключевых имен не распространены означает, что это неизвестно, используя приведенный ниже код, который я разбираю json данные
Может ли кто-нибудь помочь мне с кодом
Json ответ:
{
"success": true,
"result": {
"describe": {
"label": "Accounts",
"name": "Accounts",
"createable": true,
"updateable": true,
"deleteable": false,
"retrieveable": true,
"fields": [
{
{
"name": "assigned_user_id",
"label": "Account Manager",
"mandatory": true,
"type": {
"name": "owner",
"users": {
"1x1": "Admin",
"2x5": "Manager",
"3x7": "Director",
"8x7": "Ex-Director",
"1x8": "CEO"
}]}
}
}
java:
private void fetchAssigned() {
handler.postDelayed(new Runnable() {
@Override
public void run() {
// Write code for your refresh logic
progressDialog = new ProgressDialog(getActivity());
progressDialog.setIndeterminate(true);
progressDialog.setMessage("Loading...");
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.setCancelable(false);
progressDialog.show();
sessionId = getActivity().getIntent().getStringExtra("sessionId");
String operation = "Describe";
String module = "Accounts";
// String syncToken = "";
//String mode = "public";
final GetNoticeDataService service = RetrofitInstance.getRetrofitInstance().create(GetNoticeDataService.class);
/** Call the method with parameter in the interface to get the notice data*/
Call<AccountDescribe> call = service.GetFieldDetailsList(operation, sessionId, module);
/**Log the URL called*/
Log.i("URL Called", call.request().url() + "");
call.enqueue(new Callback<AccountDescribe>() {
@Override
public void onResponse(Call<AccountDescribe> call, Response<AccountDescribe> response) {
Log.e("response", new Gson().toJson(response.body()));
if (response.isSuccessful()) {
Log.e("response", new Gson().toJson(response.body()));
AccountDescribe syncModule = response.body();
Gson g = new Gson();
String json = g.toJson(syncModule);
PreferenceManager.getInstance(requireContext()).setAPIResponseAccount(json);
workingOnResponse(syncModule);
progressDialog.dismiss();
}
}
@Override
public void onFailure(Call<AccountDescribe> call, Throwable t) {
Log.d("error", t.getMessage());
progressDialog.dismiss();
}
});
}
}, 0);
return ;
}
responseList=new ArrayList<Users>();
private void workingOnResponse(AccountDescribe syncModule){
String success = syncModule.getSuccess();
if (success.equals("true")) {
Results_Account results = syncModule.getResult();
DescribeDetails describeDetails=results.getDescribe();
ArrayList<Fields> fields=describeDetails.getFields();
for (Fields fields1 : fields) {
String name = fields1.getName();
if(name.equals("assigned_user_id")){
TypeDetails typeDetails=fields1.getType();
String owner=typeDetails.getName();
Users users=typeDetails.getUsers();
String label=fields1.getLabel();
JSONObject jsonResponse = null;
try {
jsonResponse = new JSONObject(String.valueOf(typeDetails));
Iterator iteratorObj = jsonResponse.keys();
while (iteratorObj.hasNext())
{
String keyName = (String)iteratorObj.next();
String valueName= null;
try {
valueName = jsonResponse.getString(keyName);
Users keyValueModel=new Users(keyName,valueName);
responseList.add(keyValueModel);
Log.d("responseList", String.valueOf(responseList));
ArrayAdapter<Users> dataAdapter = new ArrayAdapter<>(getContext(), android.R.layout.simple_spinner_item, responseList);
spinneraccountManager.setAdapter(dataAdapter);
} catch (JSONException e) {
e.printStackTrace();
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
}
}