作为函数参数输入的变量是案例类的实例。 在这种情况下,你能做一些像JsonMethods.extract [变量]吗?
// I do not know if the "Any" keyword is appropriate. Or, Class [_]?
def func(a: Any) {
val json = """{"c_1":"hi","c_2":"bye"}"""
JsonMethods.parse(json).extract[a] // ERROR
}
如果提供了上述功能(func),用户将能够:
case class Test(var c_1: String, var c_2: String) {}
val t = Test("", "")
func(t)
println(t.c_1) // "hi"
println(t.c_2) // "bye"
答案 0 :(得分:0)
我不知道json4s所以我的东西可能不合适。但是传递给extract
的东西实际上是一个类型参数而不是值参数。我想你想做的是
JsonMethods.parse(json).extract[Test]
使用传入提取的类型,告诉json4s应该放入json的结构。在您的情况下,案例类Test