Как одновременно проанализировать два JSON данных из URL-адреса и получить URL-адрес с первого JSON и использовать это для получения данных за секунду JSON? - PullRequest
0 голосов
/ 30 марта 2020

У меня есть проект, и в этом проекте я должен разобрать два JSON вместе. Я должен получить URL-адрес с первого JSON, используя com.squareup.okhttp3:okhttp:4.4.0, и первый JSON выглядит так:

{
  "Url": {
    "Url":"https://example.com/Myjson.json"
  }
} 

И я хочу получить ключ "URL-адреса" с первого JSON и поставить этот URL-адрес Для второго JSON URL-адрес и второй вид выглядит следующим образом:

{
  "Head": 
    {
      "Version" : "",
      "WebSite" : "",
      "Instagram" : "",
      "Telegram" : "",
    },

  "Banner" :
    {
      "Banner_Tittle":"",
      "Banner_Description":""
    },

  "Version_Banner": 
    {
      "Version_Banner_Tittle" : "",
      "Version_Banner_Description" : "",
      "Version_Banner_Link" : ""
    },

  "News": [
    {
      "Tittle" : "",
      "Description" : "",
      "Image" : "",
    }
  ],

  "Class": [
    {
      "Tittle" : "",
      "Description" : "",
      "Image" : "",
    }
  ]
}

А мой JSON класс анализатора ниже:

private class GetVersion extends AsyncTask<Void, Void, Void> {

        @Override
        protected Void doInBackground(final Void... arg0) {
            JSONObject JsonMain = null;
            HttpHandler Handler = new HttpHandler();

            String jsonStr = Handler.makeServiceCall("MyFirstJSONURL");                

            if (jsonStr != null) {
                try {
                    JSONObject jsonObj = new JSONObject(jsonStr);

                    JsonMain = jsonObj.getJSONObject("Url");
                    URL_2 = JsonMain.getString("Url");  
                }
            }
        }
    }

А теперь я хочу знать, как это сделать Это с Android Studio

1 Ответ

0 голосов
/ 30 марта 2020

Объявите два класса, которые расширяют AsyncTask (один из которых вы уже объявили).

После этого в методе onPostExecute первого (GetVersion) выполните второй класс, который принимает строку URL и открывает соединение, чтобы получить файл JSON и проанализировать его там.

Что-то вроде: -


private class GetLocation......

{
 @Override
protected void onPostCreate (Void v)
{
//Execute second class here
 }
}

...