【发布时间】:2021-12-12 06:21:20
【问题描述】:
我正在尝试解析一个 json 数据文件,该文件在两个不同的 ArrayLists 中有一个单一的对象:
{
"TA": [
{
"firstname": "John",
"lastname": "Smith"
},
{
"firstname": "Jane",
"lastname": "Doe"
}
],
"Student": [
{
"firstname": "John",
"lastname": "Smith"
},
{
"firstname": "Kevin",
"lastname": "White"
}
]
}
我当前的解析方法只是为每个对象创建一个新的 Person 对象并将它们添加到每个 List 对象,但我希望我的 Person 对象 John Smith 仅是“TA”列表和“Student”列表引用的单个对象.我该怎么做呢?
【问题讨论】:
-
好吧,你可以创建自己的解析器并定义一个
equals方法来检查新创建的对象是否已经存在。 -
答案取决于您使用的 JSON 库。是哪一个?
-
你能添加一些你当前解析的代码吗?我认为@shmosel 有使用地图的正确方法(也可以使用 HashSet),但他的示例专门针对您显然没有使用的杰克逊?
-
@magicmn 您必须遍历集合才能找到内部值。