首页 > Java > java教程 > 如何在Android中使用GSON解析嵌套的JSON数据?

如何在Android中使用GSON解析嵌套的JSON数据?

Linda Hamilton
发布: 2024-10-30 03:21:28
原创
395 人浏览过

How to Parse Nested JSON Data with GSON in Android?

Android 中使用 GSON 解析 JSON 数据

问题:

如何解析 JSON 数据在 Android 中使用 GSON?

问题:

<code class="json">{
    "count": "12",
    "colbreak": 1,
    "name": "unary rels",
    "score": "9090",
    "Words": [
        {
            "count": 6,
            "word": "prp_għaċ-",
            "name": "prp_għaċ-",
            "score": 9.1,
            "Words": "kol",
            "seek": 2231297
        }
    ],
    "seek": 0
}</code>
登录后复制

以下代码无法正确解析 JSON 数据,导致“JsonSyntaxException”:

<code class="java">public static <T> ArrayList<T> JsonParse(T t, String response) {
    // ...

    reader.beginObject();
    while (reader.hasNext()) {
        T cse = (T) gson.fromJson(reader, t.getClass());
        lcs.add(cse);
    }

    reader.endObject();

    // ...
}</code>
登录后复制

答案:

要正确解析 JSON 数据,请按照以下步骤操作:

  1. 读取 JSON 值
<code class="java">try {
    AssetManager assetManager = getAssets();
    InputStream ims = assetManager.open("file.txt");

    Gson gson = new Gson();
    Reader reader = new InputStreamReader(ims);

    GsonParse gsonObj = gson.fromJson(reader, GsonParse.class);

} catch(IOException e) {
    e.printStackTrace();
}</code>
登录后复制
  1. 定义数据类
<code class="java">public class GsonParse {
    @SerializedName("count")
    private String count;

    // ...

    public String getCount() {
        return count;
    }

    public void setCount(String count) {
        this.count = count;
    }

    // ...
}

public class Words {
    @SerializedName("count")
    private String count;

    // ...

    public String getCount() {
        return count;
    }

    public void setCount(String count) {
        this.count = count;
    }

    // ...
}</code>
登录后复制

附加说明:

  • 通过 HTTP 传输 JSON 数据时确保使用 UTF-8 编码。
  • 如有必要,将任何传入的 JSON 数据转换为 UTF-8 格式。
  • 确保您已将参数包含在嵌套的“Words”类中。

以上是如何在Android中使用GSON解析嵌套的JSON数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板