gpt4 book ai didi

java - 使用 GSON 将 Json 解析为 JAVA 对象,其中 Json 元素可能会有所不同

转载 作者:行者123 更新时间:2023-11-30 07:53:15 25 4
gpt4 key购买 nike

我正在尝试使用 GSON 将 JSON .txt 文件解析为 JAVA 对象。 JSON 文件具有以下结构:

    {
"event0" : {
"a" : "abc",
"b" : "def"
},

"event1" : {
"a" : "ghi",
"b" : "jkl",
"c" : "mno"
}
}

我已将文本文件读入一个名为 dataStr 的字符串。我想使用 fromJson 方法将事件捕获到以下 JAVA 类中:

public class Event {
private String a;
private String b;
private String c;

public Event() {}

}

问题是 JSON 在某些元素中可能有一个额外的字段“c”。我想将所有事件解析为 Event 类对象,对于没有“c”字段的情况,我想在我的对象中将其设置为 null 或零。事先不知道哪些元素将具有“c”字段。

具体来说,我无法弄清楚如何处理某些 JSON 元素中的一个额外字段。我想按照以下方式做一些事情:

Gson gson = new Gson();
ArrayList<Event> events = gson.fromJson(dataStr, Event.class);

但我首先被困住了,如何遍历 Json 文件中的事件,其次,如何将一些偶尔丢失的字段处理到同一个 Event 对象中。我真的很感激在正确的方向踢。谢谢大家。

我对 JSON 解析相当陌生,可能在以下答案中遗漏了一些内容:

Using Gson to convert Json into Java Object

Mapping JSON into POJO using Gson

Using gson to parse json to java object

Parse JSON into a java object

How to parse a json file into a java POJO class using GSON

最佳答案

我不确定我是否理解你的问题。据我了解,您正在尝试使用 java 类中不可用的额外字段转换 json 对象。坦率地说,我不明白你为什么想要那个或者是否可以开始。您可以通过将 json 转换为 Map 来解决此问题。

map map = gson.fromJson(jsonString, Map.class);

关于java - 使用 GSON 将 Json 解析为 JAVA 对象,其中 Json 元素可能会有所不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44967922/

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