JSON和Scala解析器

时间:2018-06-15 10:21:50

标签: json scala jackson-databind

我正在尝试解析代码json字符串值:

val map1 = mapper.readValue("""{"test":"113123","myList":{"test2":"321323","test3":"11122"}}""", classOf[Map[String,Any]])
System.out.println(map1)

因为我得到的输出是这样的:

Map(test -> 113123, myList -> Map(test2 -> 321323, test3 -> 11122))

但我的预期输出是:

Map(test -> 113123, myList -> Some(Map(test2 -> 321323, test3 -> 11122)))

需要帮助来解决这个问题。感谢

1 个答案:

答案 0 :(得分:0)

如果您要在地图中查找Some()作为值,可能会出现某种情况,您需要None。我可能希望在您尝试访问地图中的值时返回Option,而不是classOf(Map[String, Option[Any]])内置到您的地图(可能是Option),如{ {1}},否则我不确定你是如何定义的,你也不想要Map.get("myList")等。

简而言之,我认为Map("cat" -> None, "dog" -> None, "fish" -> None)处于一个奇怪的地方