1
我正在使用GSON批注将JSON字段从宁静的服务解析到DTO中。我想编写一个测试,它将检测JSONObject中是否有任何字段尚未被解析到具有注释的Java DTO对象中。如果在服务器上添加十个字段,我将无法知道这一点?如果所有字段都被解析为Java对象,有什么方法可以动态地进行测试吗?换句话说,我可以得到所有DTO字段的名称(包括注释信息),并比较JSON对象上的所有字段。所以我试图将DTO与JSONObject进行比较,看看我是否覆盖了一切。如何检测是否所有的JSON字段都被解析?
好的。我想我会试试这个。 getDeclaredFields()是否也返回注释信息?例如。 GSON的@SerializedName(“theNameInJSON”) \t public String theName; – gitright
是的 - 如果你看看反射API,'Field'封装了关于该字段的所有内容,并具有'getDeclaredAnnotations()' –