我有一个Update
对象的实例,我想将它转换为它的字符串 JSON 表示,以便以后可以使用它。
我创建了这样的更新对象:
Update update = new Update();
update.set("field", new SomeClass());
update.unset("otherField");
// etc
我最初的尝试是:
update.getUpdateObject().toString();
这种方法适用于大多数情况,但偶尔会失败,因为它无法序列化SomeClass
. 这是堆栈跟踪:
java.lang.RuntimeException: json can't serialize type : class com.example.SomeClass
at com.mongodb.util.JSON.serialize(JSON.java:261)
at com.mongodb.util.JSON.serialize(JSON.java:115)
at com.mongodb.util.JSON.serialize(JSON.java:161)
at com.mongodb.util.JSON.serialize(JSON.java:141)
at com.mongodb.util.JSON.serialize(JSON.java:58)
at com.mongodb.BasicDBObject.toString(BasicDBObject.java:84)
我有一个可用的实例,MongoTemplate
但MongoConverter
我不确定如何使用这些类来完成这项任务。
问题是:
获取更新对象的 JSON 表示的正确方法是什么?
我正在使用 spring-data-mongodb 版本 1.1.0.M1。