鉴于此代码示例:
import com.mongodb.util.JSON
import com.mongodb.casbah.Imports._
val json = """{"date" : { "$date" : 1327064009959 }}"""
val doc = JSON.parse(json)
我收到此错误: java.lang.ClassCastException:java.lang.Long无法强制转换为java.lang.String
我可以做些什么来使用Casbah在Scala中正确解析?
答案 0 :(得分:0)
有一个解决方案,我不太喜欢,你:
import com.mongodb.util.JSON
import com.mongodb.casbah.Imports._
import scala.util.matching.Regex
val json = """{"date" : { "$date" : 1327064009959 }}"""
val doc = JSON.parse(json)
var regex = new Regex("""\{ "\$date" : (\d+) \}""", "date")
val fixed = regex replaceAllIn (json, m => "\"" + (new DateTime(m.group("date").toLong)) + "\"" )
val doc = JSON.parse(fixed).asInstanceOf[DBObject]
答案 1 :(得分:-1)
检查此拼写错误,这是您应该传递的有效JSON
var json = '
{
"date": {
"$date": 1327064009959
}
}';