Я пытаюсь проанализировать данные JSON, полученные по следующей ссылке
http://fipeapi.appspot.com/api/1/carros/marcas.json
У него нет имени JsonArray. Вот что я пробовал до сих пор.
private String getName(int position) {
String name = "";
try {
//Getting object of given index
JSONObject json = result.getJSONObject(position);
//Fetching name from that object
name = json.getString(Config.TAG_NAME);
} catch (JSONException e) {
e.printStackTrace();
}
//Returning the name
return name;
}
А вот и класс Config
public class Config {
//JSON URL
public static final String DATA_URL = "http://fipeapi.appspot.com/api/1/carros/marcas.json";
//Tags used in the JSON String
public static final String TAG_USERNAME = "name";
public static final String TAG_NAME = "fipe_name";
public static final String TAG_COURSE = "key";
public static final String TAG_ID_MARCA_CARRO = "id";
//JSON array name
public static final String JSON_ARRAY = "marcas";
}
Пожалуйста, дайте мне знать, если вам понадобится дополнительная информация, чтобы помочь мне в решении этой проблемы. Заранее спасибо!




Более простой способ разобрать данные JSON в Android - использовать Gson. Это просто и легче интегрировать с вашим кодом. Вам просто нужно добавить следующую зависимость в ваш файл build.gradle.
dependencies {
implementation 'com.google.code.gson:gson:2.8.5'
}
Теперь в вашем коде вам нужно создать следующий класс.
public class Car {
public String name;
public String fipe_name;
public Integer order;
public String key;
public Long id;
}
Теперь просто проанализируйте полученную строку JSON, как показано ниже.
Gson gson = new Gson();
Car[] carList = gson.fromJson(jsonResponse, Cars[].class);
Вы обнаружите, что JSON разбирается как массив объектов. Надеюсь, это поможет.
Я думаю, вам следует проверить это stackoverflow.com/questions/4308554/… Или принятый ответ в этой ссылке делает именно то, что вы хотите stackoverflow.com/questions/13196234/…