override def invert()

in bijection-json/src/main/scala/com/twitter/bijection/json/JsonInjection.scala [157:172]


      override def invert(n: JsonNode): Try[Map[String, V]] = {
        val builder = Map.newBuilder[String, V]
        builder.clear
        var cnt = 0
        n.getFields.asScala.foreach { kv =>
          val value = fromJsonNode[V](kv.getValue)
          if (value.isSuccess) {
            cnt += 1
            builder += (kv.getKey -> value.get)
          } else {
            return InversionFailure.failedAttempt(n)
          }
        }
        val res = builder.result
        if (res.size == cnt) Success(res) else InversionFailure.failedAttempt(n)
      }