(){}.-6ren">
gpt4 book ai didi

java - 使用 GSON 获取元素名称

转载 作者:行者123 更新时间:2023-11-29 03:34:25 24 4
gpt4 key购买 nike

我有这样的 JSON:

{"foos":[{"id":1}, {"id":2}]}

我可以把它变成List<Foo>使用 GSON 非常简单,就像这样:

Type t = new TypeToken<List<Foo>>(){}.getType();
JsonObject resp = new Gson().fromJson(
new JsonParser().parse(json).getAsJsonObject().get("foos",t);

但让我们假设我还有另一个 JSON,其中数组的名称和类型发生了变化

{"bars":[{"id":3},{"id":9}]}

当然,我可以将“foos”参数替换为“bars”,但如果可能的话,我希望我的软件能帮我完成。

有没有办法用 GSON 库提取子数组的名称?

最佳答案

我不确定我是否正确理解了您想要的内容,但您指的不是泛型的使用吗?我的意思是你可以写一个方法来返回你相关类的列表?类似的东西

Type type = new TypeToken<List<MyClass>>() {}.getType();
List<MyClass> myObjects = getMyObjects(new JsonParser().parse(json).getAsJsonObject().get("foos"), type);

public static List<T> getMyObjects(String jsonString, Type type) {
Gson gson = new Gson();
List<T> myList = gson.fromJson(jsonString, type);

return myList;
}

关于java - 使用 GSON 获取元素名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16306856/

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