我试图通过Play Combinators将JSONObject实例映射到实际实例。我能够正确地进行去序列化工作。问题是关于map()如何在Option [JSONObject]上工作的行为。
选项1:
jsonVal: Option[JSONObject] = getAsJson(input)
jsonVal.map(JSONUtil.fromJsonString(_.toString(), Blah.jsonReads))
无法正常工作,无法编译,因为_未正确解析。编译器无法在对象上找到toString()。
选项2:
jsonVal: Option[JSONObject] = getAsJson(input)
jsonVal.map(_.toString()).map(JSONUtil.fromJsonString(_, Blah.jsonReads))
工作!!有人可以告诉我为什么当转换作为函数参数的一部分完成时,不会传播默认变量的类型吗?