java如何使用新值对对象进行jsonify?
我有一些对象具有不同的atributes类型:String
、Float
、LocalDate
等等。要将此对象转换为json String
,我使用(com.google.gson.Gson
)
gson.toJson(object);
但是现在我想给它添加一个String
:
{
"warning" : "old",
--Jsonified Object--
}
如何在不执行样板代码或创建具有新属性和旧属性的新对象的情况下,将特定键值数据添加到对象中
# 1 楼答案
在不创建新类或修改当前类的情况下,最简单的方法是使用地图。当然,它仍然需要一些样板,但您可以创建一个方法来完成所有这些
Gson从已经生成的json开始,您可以创建一个映射,修改这个映射,然后再次创建json
如果不想从创建的JSON开始,我建议使用jackson object mapper在映射中转换对象,然后处理映射并创建JSON。你应该使用另一个像jackson这样的库,因为Gson没有提供一种将对象转换为地图的方法
# 2 楼答案
可以使用
com.google.gson.JsonObject
类添加额外的字段