0
私のようなJSONオブジェクトがある場合:Json4sでは、JSONオブジェクトの整数フィールドが自動的にStringに変換されるのはなぜですか?
import org.json4s._
import org.json4s.jackson.JsonMethods
import org.json4s.JsonAST.JValue
def getVal[T: Manifest](json: JValue, fieldName: String): Option[T] = {
val field = json findField {
case JField(name, _) if name == fieldName => true
case _ => false
}
field.map {
case (_, value) => value.extract[T]
}
}
val json = JsonMethods.parse("""{"test":3}""")
val value: Option[String] = getVal[String](json, "test") // Was Some(3) but expected None
は、次のとおりです。
{
"test": 3
}
は、その後、私はタイプがラインアップしていないので、文字列として「テスト」フィールドを抽出することはできないだろうと期待しますJSON数値からJson4sで期待される文字列へのこの自動変換?その場合、抽出されたフィールドがextract
メソッドの型パラメーターで指定されているのと同じ型でなければならない場合の回避策がありますか?