gpt4 book ai didi

java - 需要反序列化 json 格式的帮助

转载 作者:行者123 更新时间:2023-12-01 10:54:00 26 4
gpt4 key购买 nike

我正在尝试获取用于反序列化的 Java 类: API Response我正在使用http://www.jsonschema2pojo.org/获取我需要的java类。但是通过这个 json 响应我得到了这个:

public class CatalogueResponse {
@SerializedName("0")
@Expose
private uex.asee.fjrm.multimediapp.api.pojos.catalogue._0 _0;
@SerializedName("1")
@Expose
private uex.asee.fjrm.multimediapp.api.pojos.catalogue._1 _1;
@SerializedName("2")
@Expose
private uex.asee.fjrm.multimediapp.api.pojos.catalogue._2 _2;
@SerializedName("3")
@Expose
private uex.asee.fjrm.multimediapp.api.pojos.catalogue._3 _3;
@SerializedName("4")
@Expose
private uex.asee.fjrm.multimediapp.api.pojos.catalogue._4 _4;
@SerializedName("5")
@Expose
private uex.asee.fjrm.multimediapp.api.pojos.catalogue._5 _5;
...
}

但是json的项目数量是变化的,所以我不能那样处理。顺便说一句,我正在使用 gson 注释。有什么想法吗?

最佳答案

为什么不尝试使用 Map 然后序列化它。我建议使用 TreeMap 并添加数字作为键和值作为 Catalog 对象。像这样的东西:

Map<Integer, Catalogue> map = new TreeMap<>();
map.put(0, catalogue0);
map.put(1, catalogue1);
...
// Now serialize the map.

这将生成您需要的 API 响应。

要使用 Gson 反序列化它,请尝试以下操作:

Type mapType = new TypeToken<Map<Integer, Catalogue>>(){}.getType();
Map<Integer, Catalogue> catalogueMap = (Map<Integer, Catalogue>) gson.fromJson(json, mapType);

关于java - 需要反序列化 json 格式的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33721628/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com