Как получить объект Json без имени JsonArray

Я пытаюсь проанализировать данные 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";
}

Пожалуйста, дайте мне знать, если вам понадобится дополнительная информация, чтобы помочь мне в решении этой проблемы. Заранее спасибо!

Я думаю, вам следует проверить это stackoverflow.com/questions/4308554/… Или принятый ответ в этой ссылке делает именно то, что вы хотите stackoverflow.com/questions/13196234/…

Shivam Pokhriyal 27.11.2018 21:17
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
999
1

Ответы 1

Более простой способ разобрать данные 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 разбирается как массив объектов. Надеюсь, это поможет.

Другие вопросы по теме