Java 如何在我的POJO类上使用动态json值?
gson等级:Java 如何在我的POJO类上使用动态json值?,java,json,gson,pojo,Java,Json,Gson,Pojo,gson等级: import com.google.gson.*; myJson: { "time": "notime", "query": { "pages": { "18302": { "title": "Car", "pagelanguage": "en" } } } } 自定义POJO类: public class MyClass { public String ti
import com.google.gson.*;
myJson:
{
"time": "notime",
"query": {
"pages": {
"18302": {
"title": "Car",
"pagelanguage": "en"
}
}
}
}
自定义POJO类:
public class MyClass {
public String time;
public Query query;
public class Query {
public ? pages;
//...
}
}
Java代码:
Gson gson = new GsonBuilder().create();
MyClass data = gson.fromJson(myJson, MyClass.class);
我应该为我的“pages”变量设置什么类来处理动态变化的(exp:“18302”)json键?您可以使用映射
public class MyClass {
public String time;
public Query query;
public static class Query {
public Map<String, Page> pages; // <-- here
public static class Page {
public String title;
public String pagelanguage;
}
}
}
公共类MyClass{
公共字符串时间;
公共查询;
公共静态类查询{
公共地图页;//您可以使用地图
public class MyClass {
public String time;
public Query query;
public static class Query {
public Map<String, Page> pages; // <-- here
public static class Page {
public String title;
public String pagelanguage;
}
}
}
公共类MyClass{
公共字符串时间;
公共查询;
公共静态类查询{
公共地图页;//您可以使用地图
public class MyClass {
public String time;
public Query query;
public static class Query {
public Map<String, Page> pages; // <-- here
public static class Page {
public String title;
public String pagelanguage;
}
}
}
公共类MyClass{
公共字符串时间;
公共查询;
公共静态类查询{
公共地图页;//您可以使用地图
public class MyClass {
public String time;
public Query query;
public static class Query {
public Map<String, Page> pages; // <-- here
public static class Page {
public String title;
public String pagelanguage;
}
}
}
公共类MyClass{
公共字符串时间;
公共查询;
公共静态类查询{
公共地图页面;//如果不想创建页面类,这将起作用:
Map<String, Map<String, String>> pages;
如果您不想创建页面类,这将起作用:
Map<String, Map<String, String>> pages;
如果您不想创建页面类,这将起作用:
Map<String, Map<String, String>> pages;
如果您不想创建页面类,这将起作用:
Map<String, Map<String, String>> pages;
pages
的值已知吗?换句话说,它是否总是一个带有title
和pagelanguage
的JSON对象?是的,唯一的更改变量名是“18302”然后我会使用一个Map
,其值类型是一个POJO类型,适合JSON对象的title
和pagelanguage
。事实上,“18302”也可以有一个自定义类(如查询),因此如果我使用Map,我会丢失POJO树。而且我无法在“18302”中访问我的自定义类?好的,您必须检查键。页面
的值已知吗?换句话说,它是否始终是一个JSON对象,具有标题
和页面语言
?是的,唯一的更改变量名称是“18302”然后我会使用一个Map
,其值类型是一个POJO类型,适合JSON对象的title
和pagelanguage
。事实上,“18302”也可以有一个自定义类(如查询),因此如果我使用Map,我会丢失POJO树。而且我无法在“18302”中访问我的自定义类?好的,您必须检查键。页面
的值已知吗?换句话说,它是否始终是一个JSON对象,具有标题
和页面语言
?是的,唯一的更改变量名称是“18302”然后我会使用一个Map
,其值类型是一个POJO类型,适合JSON对象的title
和pagelanguage
。事实上,“18302”也可以有一个自定义类(如查询),因此如果我使用Map,我会丢失POJO树。而且我无法在“18302”中访问我的自定义类?好的,您必须检查键。页面
的值已知吗?换句话说,它是否始终是一个JSON对象,具有标题
和页面语言
?是的,唯一的更改变量名称是“18302”然后我会使用一个Map
,其值类型是一个POJO类型,适合JSON对象的title
和pagelanguage
。事实上,“18302”也可以有一个自定义类(如查询),因此如果我使用Map,我会丢失POJO树。而且我无法在“18302”中访问我的自定义类好的,你必须检查钥匙。这正是我想要的!谢谢!这正是我想要的!谢谢!这正是我想要的!谢谢!这正是我想要的!谢谢!这正是我想要的!谢谢!