我有一个文档列表,其数据的格式为Map[String, Any]
,因此可以将它们分别添加到包含字段和值的json对象中。所以我的代码在解析时看起来像这样:
val JsonDoc = Json.obj(
"ORFID" -> doc("ORFID").toString,
"ORF_len" -> doc("ORF_len").toString,
"start" -> doc("start").toString,
"end" -> doc("end").toString
...// more fields
)
但是某些文档可能缺少其中一个字段,因此我需要一个更动态的方法,具体取决于每个文档字段,否则抛出异常。对此最好的方法是什么?
答案 0 :(得分:2)
您可以尝试使用JsObject。它的构造函数需要一个Seq of tuples,你可以使用方法toSeq
从你的地图中获取,这假设你想在json中使用与Map中相同的键。
val jsonDoc = new JsonObj(doc.toSeq)