用于获取相应Gson json对象的Java类
我有一个json对象,其表示形式如下:用于获取相应Gson json对象的Java类,java,json,gson,Java,Json,Gson,我有一个json对象,其表示形式如下: { text : "Ed O'Kelley was the man who shot the man who shot Jesse James.", entities : [ ['T1', 'Person', [[0, 11]]], ['T2', 'Person', [[20, 23]]], ['T3', 'Person', [[37, 40]]], ['T4', 'P
{
text : "Ed O'Kelley was the man who shot the man who shot Jesse James.",
entities : [
['T1', 'Person', [[0, 11]]],
['T2', 'Person', [[20, 23]]],
['T3', 'Person', [[37, 40]]],
['T4', 'Person', [[50, 61]]],
], };
我需要创建一个Java类,该类可用于使用Gson创建具有上述结构的JSON
这就是我目前拥有的:
public class DocData
{
private String text;
private List<List<String>> entities;
public DocData(final String text, final List<List<String>> entities)
{
this.text = text;
this.entities = entities;
}
public List<List<String>> getEntities()
{
return entities;
}
}
公共类DocData
{
私有字符串文本;
私人名单实体;
公共文档数据(最终字符串文本、最终列表实体)
{
this.text=文本;
这个。实体=实体;
}
公共列表getEntities()
{
返回实体;
}
}
上面的类用于序列化
文本
字段,但我不确定需要为实体使用什么数据类型
,这样它就可以创建一个三元组数组,格式为“['T1','Person',[[0,11]]”
,您的代码适合提供的Json
然而:
实体
是多种类型的混合体
实体
中的每个实体
都是一个数组
实体中有3个元素:字符串
、字符串
和数组
这不是推荐的方法。我建议使用:
{
"text": "Ed O'Kelley was the man who shot the man who shot Jesse James.",
"entities": [
{
"field_name_1": "T1",
"field_name_2": "Person",
"field_name_3": [
[
0,
11
]
]
}
...
]
}
在这种情况下,您将有2个Pojo:
public class DocData
{
private String text;
private List<Entity> entities;
public DocData(final String text, final List<Entity> entities)
{
this.text = text;
this.entities = entities;
}
public List<Entity> getEntities()
{
return entities;
}
}
public class Entity
{
private String field_name_1;
private String field_name_2;
private List<List<Integer>> field_name_3;
}
公共类DocData
{
私有字符串文本;
私人名单实体;
公共文档数据(最终字符串文本、最终列表实体)
{
this.text=文本;
这个。实体=实体;
}
公共列表getEntities()
{
返回实体;
}
}
公共类实体
{
私有字符串字段_name_1;
私有字符串字段_name_2;
私有列表字段_name_3;
}
您必须使用“三元组数组”吗?当前方法有什么问题(除了它不是列表
)?这有助于@Pshemo我可以使用在这种情况下工作的任何替代数据结构。使用包装类在json表示中引入了另一个键,如:实体:[“包装类”:['T1','Person',[[0,11]]};问题是我无法更改JSON的结构,因为它是第三方工具所期望的固定格式JSON。我尝试过使用POJO实体,但没有成功。请确保检查JSON
而不是JSONschema
,同时检查Gson