java - 使用 Gson 从具有动态字段的 JSON 字符串构建 POJO

标签 java json gson

我在我的应用程序中使用一个 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/

相关文章:

java - 为什么 java 的 BigInteger gcd 和 modInverse 这么慢?

c - 使用 json 在 ibmiot cloud 中发布事件

java - 剪耳三角器崩溃

java - 苔丝4J : How to use ResultIterator?

Java - 一个简单的(对除了我之外的每个人)方法 - 继承

javascript - AngularJS 待办事项列表应用程序 - 在页面刷新时保持列表

javascript - 带有 json 正文的 POST 请求 javascript

java - 线程 "Thread-0"java.lang.reflect.InaccessibleObjectException 中出现异常

java - GAE 将 JSON 对象从请求映射到 Bean

json - Jackson 和 Gson 是否直接实现了标准 JSR-353?