我使用Jackson解析来解析 Json 并将其保存到 Hbase 。在保存之前,我必须根据MySQL的数据类型列表验证节点的数据类型。目前我正在采用这种方法:
def validateNode(node:JsonNode, DataType : String) :Any =
{
val nodeValue = node.toString()
DataType.toLowerCase() match {
case "double" ⇒ {
try{
d.toDouble
}
catch{
}
}
case "int" ⇒try { node.getValueAsInt } catch{}
case "string" ⇒ try{ node.getTextValue }catch{}
}
}
对我来说看起来很难看。
a)我正在捕获每个case块中的异常,以查看数据类型是否正确。
有人可以为我推荐一些优雅的代码吗?
此外,我还必须处理一些数据类型,如Array
和Vector
。
例如:JsonNode
类似于
{"A":[[1,2],[2,4],[4,5]]} (==>Vector of Integer) .