Я использую Scala 2.12 и пытаюсь проанализировать приведенный ниже файл JSON.
{
"comp1": {
"metrics": {
"operation1": {
"alias": "activity_operation",
"weight": 10
},
"operation2": {
"alias": "service_operation",
"weight": 22
}
}
},
"comp2": {
"metrics": {
"operation1": {
"alias": "activity_operation",
"weight": 14
},
"operation4": {
"alias": "service_operation",
"weight": 16
}
}
}
}
Я загрузил json в переменную конфигурации, определил класс case и попробовал следующее:
case class OperationDetails(alias: String, weight: Int)
for (detail <- (config \ "comp1").children) {
println(detail.extract[OperationDetails])
}
Это дает мне ошибку Exception in thread "main" net.liftweb.json.MappingException: No usable value for alias. Did not find value which can be converted into java.lang.String
Я не могу использовать `operation1' и извлекать дочерние элементы, так как операции случайны.
Мне нужно получить имена операций operation1, operation2, operation4, ..
и их соответствующие псевдонимы и веса. Любые идеи?