如何在没有JsonArray名称的情况下获取Json对象

时间:2018-11-27 20:07:26

标签: java json android-studio

我正在尝试解析从以下链接检索到的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";
}

如果您需要更多信息来帮助我解决此问题,请告诉我。预先感谢!

1 个答案:

答案 0 :(得分:0)

在Android中解析JSON数据的更简单方法是使用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解析为对象数组。希望能有所帮助。