如何在此 JSONArray 的“语言”属性下获取“名称”?

Ent*_*mic 1 java android json

我将 Web-API 用于 Android 应用程序。但是我在从属性“languages”中获取“name”时遇到了问题。

对于我使用的国家“名称”:

protected String parseJSON(String jsonString) throws Exception {

    if (jsonString == null || jsonString.trim().length() == 0) {

        return "empty Object";
    }
    JSONArray jsonarray = new JSONArray(jsonString);
    JSONObject jsonObject = jsonarray.getJSONObject(0);

    String name = jsonObject.getString("name");

    return name;
}
Run Code Online (Sandbox Code Playgroud)

如何在此 JSONArray 的“语言”属性下获取“名称”? https://restcountries.eu/rest/v2/name/spain

jep*_*bio 6

它应该是这样的:

JSONArray languages = jsonObject.getJSONArray("languages");
String firstLanguageName = languages.getJSONObject(0).getString("name");
Run Code Online (Sandbox Code Playgroud)

尽管我强烈建议您使用gson而不是这种方式解析,但在解析 json 时,gson 让生活更轻松。