我正在尝试使用lift-json库将json字符串解析为scala case类对象。 我的案例课是:
case class DateColumn(sourceField: String, destinationField: String, format: String, isQCField: Boolean)
我的json字符串是:
"{"addDateColumns": [{"dateColumn": {"sourceField": "CreatedAt","destinationField": "CreatedAtday","format": "YYYY-MM-dd", "isQCField": "false"}},{"dateColumn": {"sourceField": "CreatedAt","destinationField": "TransCreatedAt","format": "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", "isQCField": "false"}},{"dateColumn": {"sourceField": "RecUpdatedAt","destinationField": "RecUpdatedAtHr","format": "YYYY-MM-dd' 'HH", "isQCField": "true"}}]}"
以下是在json上方读取的代码:
import net.liftweb.json.parse
import net.liftweb.json.JsonAST
import net.liftweb.json.DefaultFormats
import net.liftweb.json.JsonAST.JValue
val json: JValue = parse(addDateColumns)
dateColumns = (json \\ "dateColumn").children
for(obj <- dateColumns) {
implicit val formats: net.liftweb.json.DefaultFormats = net.liftweb.json.DefaultFormats
if(obj.extract[DateColumn].isQCField.equals("true")){
qcEntry = obj.extract[DateColumn]
}
}
这可以正常编译,但在运行时会在parse(addDateColumns)上抛出 NoSuchMethodError 错误
我在这里错过了什么吗? 任何帮助将不胜感激。
感谢与问候,
Vikas Gite