如何在没有get / set方法的情况下获取对象JSON

时间:2019-04-19 19:50:23

标签: java json spring spring-boot

大多数json序列化工作都使用对象属性访问器(如getter和setter方法)进行。我试图将没有get / set方法(并且我没有控制修改源代码)的第三方对象序列化为json并通过REST服务进行发送。

但是生成的最终json并不像我的对象中那样具有所有属性数据。这很明显,因为没有访问方法。

在这种情况下,还有其他方法可以准备JSON吗? 否则,是否还有其他方法可以按原样通过我的rest服务发送此第三方对象,而又不影响其属性值? (我认为这类似于对象序列化并使用流进行发送,但这看起来像是非常规的。)

1 个答案:

答案 0 :(得分:1)

也许最多。另一方面,GSON使用反射直接设置字段。实际上,您必须强制它使用反射(请参见Gson avoid reflection)。

因此一种解决方案是使用该库。准确地说:gson使用反射直接在bean类中标识 fields ,而无需依赖getter / setter方法。