我有一个案例类,它是 type 的属性之一JValue
。
在序列化期间,它被转换为BasicDBList
(不管它的价值是什么,即使它只是一个JString
- 这很奇怪,但把它放在一边......)
所以将对象保存到数据库(Mongodb)工作正常,但是当我尝试时findOne()
,我收到以下错误:
argument type mismatch
$anon$2(class com.example.data.Telemetry @ com.novus.salat.global.package$$anon$1@7376d6c3) toObject failed on:
SYM: com.example.data.Telemetry
CONSTRUCTOR
public com.example.data.Telemetry(java.lang.String,org.json4s.JsonAST$JValue)
---------- CONSTRUCTOR EXPECTS FOR PARAM [1] --------------
NAME: location
TYPE: org.json4s.JsonAST$JValue
DEFAULT ARG [Missing, but unnecessary because input value was supplied]
@Ignore false
---------- CONSTRUCTOR INPUT ------------------------
TYPE: com.mongodb.BasicDBList
VALUE:
[ [ [ "latitude" , [ 34.001]] , [ "longitude" , [ 32.511]]]]
------------------------------------------------------------
所以看起来对象没有正确反序列化(从BasicDBList
返回到JValue
)。这很好用,但另一种方式似乎坏了。
我错过了什么吗?