我在我的应用程序中使用一个 Web 服务,它将返回与名称关联的 ID 列表。一个示例如下所示:
{
"6502": "News",
"6503": "Sports",
"6505": "Opinion",
"6501": "Arts",
"6506": "The Statement"
}
当所有字段都是动态的时,我如何为 Gson 构建一个 POJO 以反序列化?
最佳答案
如何反序列化为 map ?
Gson gson = new Gson();
Type mapType = new TypeToken<Map<String, String>>() {}.getType();
String json = "{'6502':'News','6503':'Sports','6505':'Opinion','6501':'Arts','6506':'The Statement'}";
Map<String, String> map = gson.fromJson(json, mapType);
使用 map 对我来说听起来很合理(因为 Java 是静态类型的)。即使这可行(可能使用 JavaCompiler )——访问对象与访问 map 可能没有太大区别。
关于java - 使用 Gson 从具有动态字段的 JSON 字符串构建 POJO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7906393/