我正在尝试解析从以下链接检索到的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";
}
如果您需要更多信息来帮助我解决此问题,请告诉我。预先感谢!
答案 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解析为对象数组。希望能有所帮助。