Gson.fromJson,如何在我的 POJO class 上使用动态 json 值?
Gson.fromJson, how to use dynamic json value on my POJO class?
gson class:
import com.google.gson.*;
myJson:
{
"time": "notime",
"query": {
"pages": {
"18302": {
"title": "Car",
"pagelanguage": "en"
}
}
}
}
自定义 POJO class:
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"变量设置什么Class来处理动态变化(对于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;
}
}
}
"18302": {...}
将作为一个条目存储在 Map 中,键为 "18302"
,值为新的 Page
对象。
如果您不想创建主页 class,这将有效:
Map<String, Map<String, String>> pages;
然后使用它:
pages.get("18302").get("title") // "Car"
gson class:
import com.google.gson.*;
myJson:
{
"time": "notime",
"query": {
"pages": {
"18302": {
"title": "Car",
"pagelanguage": "en"
}
}
}
}
自定义 POJO class:
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"变量设置什么Class来处理动态变化(对于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;
}
}
}
"18302": {...}
将作为一个条目存储在 Map 中,键为 "18302"
,值为新的 Page
对象。
如果您不想创建主页 class,这将有效:
Map<String, Map<String, String>> pages;
然后使用它:
pages.get("18302").get("title") // "Car"