Java Class 获取对应的Gson json 对象
Java Class for obtaining corresponding Gson json object
我有一个具有以下表示的 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', 'Person', [[50, 61]]],
], };
我需要创建一个 Java Class,可用于使用 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;
}
}
以上 class 适用于序列化 text
字段,但我不确定我需要为 entities
使用什么数据类型,以便它创建一个三元组数组,格式为 "['T1', 'Person', [[0, 11]]]"
.
您的代码适用于所提供的 Json
。
但是:
entities
是多种类型的混合。
entities
中的每个 entity
都是一个 Array
。
entity
中有3个元素:String
、String
和Array
这不是推荐的方式。我建议使用:
{
"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;
}
我有一个具有以下表示的 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', 'Person', [[50, 61]]],
], };
我需要创建一个 Java Class,可用于使用 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;
}
}
以上 class 适用于序列化 text
字段,但我不确定我需要为 entities
使用什么数据类型,以便它创建一个三元组数组,格式为 "['T1', 'Person', [[0, 11]]]"
.
您的代码适用于所提供的 Json
。
但是:
entities
是多种类型的混合。
entities
中的每个 entity
都是一个 Array
。
entity
中有3个元素:String
、String
和Array
这不是推荐的方式。我建议使用:
{
"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;
}