java - 使用改造转换特殊 JSON 响应

标签 java json gson

我正在尝试转换具有可变数量子对象 feks 的特定 JSON 对象:

{
   name: 'Lars Monsen'
   id: 192492384
   accounts: {
        testaccount: {...}
        testaccount2: {...}
        ....
   }
}

因此很容易转换除帐户之外的所有字段。因为我不知道每个人有多少个帐户,并且帐户不是列表。如何将此信息映射为对象?

帐户对象内的对象是相同的。但由于帐户不是列表,并且帐户名称各不相同,我不知道如何正确映射它。

是否可以为帐户编写特定的转换器?我尝试编写一个特定的转换器,但最终只得到了整个对象。

最佳答案

既然accounts是一个固定值类型的JS对象,为什么不使用固定值类型的Map呢?就像这样

class Data {
    String name;
    int id;
    Map<String, Account> accounts;
}

class Account {
    ...
}

刚用Gson测试了一下,可以用。 Gson生成的map甚至是一个LinkedHashMap,因此条目的顺序被保留。

关于java - 使用改造转换特殊 JSON 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29200138/

相关文章:

java - 为什么有些人在通信中使用 Class#method 而不是 Class.method?

java - Kafka 的 JsonDeserializer 不适用于 java.util.Map

json - 终端进程终止,退出代码为 : 1

java - Gson 不遵守生成器中的规则

java - 如何从以下 json 数组解析或创建 pojo?

java - 如何让我的 JavaFX 程序加载文件?

java - 在actionPerformed中使用Ticks - 如何显示图像5秒

php - 如何在 JSON 中添加 JSON 数组名称

ruby-on-rails - 在 Rails 4 中保存嵌套模型

java - 如何防止 Gson 将整数表示为 float