java - 将 Json 反序列化为 Object 的通用方法
问题描述
这是一个具体的问题,我无法在Gson的 javadoc 中获得有关此主题的任何信息。
目前,我正在尝试将 Json(1) 解析{ "foo":"bar", "bar":"foo" }
为 Object Entity
。通常我会将这些值映射到Entity
带有字段foo
和的对象bar
,但是我希望更加独立于 API。
对于(1)我有
public class Entity {
String foo;
String bar;
}
但是如果我们测试另一个端点,生成的 Json (2) 看起来像
{ "notFoo":"bar", "notBar":"foo" }
这使我以前构造的Entity
无用,我需要为此创建一个具有相应字段的新类。
所以我的实际问题是:
是否有一种通用(比我的示例更通用)的方法将 Json 推入
GenericEntity
->即使使用不同的端点,json 的g.fromJson(response.getBody(),GenericEntity.class);
每个字段都将被成功映射?或者,是否有其他依赖项支持开箱即用?
解决方案
您可以使用每个字段的 Multiple GSON @SerializedName@serializedName
中编写的注释吗?. 但是架构必须相同,您只有键名的替代品。
推荐阅读
- c - 用c制作计算器,如何计算2个以上的数字
- javascript - HighCharts 是否可以将对象传递给仪表图的指针配置?
- r - 对子集执行任务而不是过滤掉
- c# - Xamarin Forms:从饼图中删除或隐藏 LinearAxis
- excel - Excel:在矩阵中搜索具有两个维度范围的值
- android - 如何在 android 中刷新位置变化地图(如 Swiggy/uber App)
- python - 测试功能的正确方法
- raku - 如何在 Perl 6 中实现 Python 的 os.urandom 方法?
- javascript - 如何获取数据快照,然后在 firebase 云函数 http 请求中更新数据库
- javascript - React-redux - 控制台给出“TypeError:props.fetchSearchResults 不是函数”