在 Android 中使用 3 层(对象、数组、字符串)解析 JSON

shz1998

我对解析 JSON 对象不是很熟悉,我真的需要你们的帮助。我知道我正在做的解析是错误的,并且在在线阅读有关在 Android Studio 中解析的资源后我不明白。

下面的代码是我的项目的解析部分。

public void onResponse(JSONObject response) {
        try {
            JSONArray jsonArray = response.getJSONArray("translations");

            for (int i = 0;  i < jsonArray.length(); i++ ) {
                JSONObject translations = jsonArray.getJSONObject(i);

                String translatedText = translations.getString("translatedText");

                textView.append(translatedText);
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }

    }

我试图解析的 JSON 对象如下:-

{
  "data": {
    "translations": [
      {
        "translatedText": "queso"
      }
    ]
  }
}

我被告知我的代码不起作用,因为 JSON 的第一级是 JSONObject“数据”而不是“翻译”,但我不知道如何将代码修改为应该如何?

流浪者

自从我使用内置的 Android JSON 对象已经有一段时间了,但我最初的反应是您需要在解析 JSON 数组“translations”之前解析 JSON 对象“data”。修改您之前的代码:

public void onResponse(JSONObject response) {
    try {
        JSONObject data = response.getJSONObject("data"); // get data first
        JSONArray jsonArray = data.getJSONArray("translations"); // get the array from data

        for (int i = 0;  i < jsonArray.length(); i++ ) {
            JSONObject translations = jsonArray.getJSONObject(i);

            String translatedText = translations.getString("translatedText");

            textView.append(translatedText);
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当数据是字符串而不是对象时,如何在android中使用解析相同的json响应?

Android解析字符串的Json数组

使用JSON从字符串解析数组?

如何在swift 3中使用数组和字符串进行json

Json解析错误-MismatchedInputException期望在Spring Boot中使用LocalDate的数组或字符串

不使用 JSON 解析字符串对象

使用Postgres解析字符串化的JSON对象

在Android中使用Retrofit将JSON解析为对象模型

在Powershell中使用Empy字符串键解析JSON

在字符串中使用解析的JSON填充我的tableview

如何使用 mssql 解析 JSON 数组字符串?

Gson-使用数组或字符串的字段解析json

使用logstash解析json数组字符串

在 Swift3 iOS 中使用字符串参数对对象数组进行排序

在powershell中使用JSON对象构建字符串

在Android中解析JSON字符串

Android-解析JSON字符串

在Android中使用JSON将字符串编码为UTF-8

在Android中使用kotlin将字符串化的json转换为jsonArray

如何在Android Studio中使用for循环在year [i]中存储json字符串值?

在Android中使用List <NameValuePair>创建一个json字符串

Android Json解析字符串无法转换为json对象错误

从base64编码的字符串中解析Azure Logic App中的JSON数组以在For_each中使用

如何在android中找出JSON对象返回JSON数组或字符串

如何从android中的json对象中删除和解析空字符串并显示为列表

android,gson无法将json字符串解析为java对象

Javascript:解析字符串中的json对象数组

如何解析字符串或对象的 JSON 数组?

如何将JSON字符串解析为数组的Android?