title: Play: How to validate Json
body: <p>Let's suppose we have the following JSON snippet...</p>
  
  <pre><code>{
    "name": "Joe",
    "surname": "Cocker",
    "email": "joe.cocker@gmail.com"
  }
  </code></pre>
  
  <p>... and want to validate it:</p>
  
  <pre><code>object MyObject {
  
    def validate(jsValue: JsValue) = myReads.reads(jsValue)
  
    private val myReads: Reads[(String, String, String)] = (
      (__ \ 'name).read[String] ~
      (__ \ 'surname).read[String] ~
      (__ \ 'email).read(email)
    ) tupled
  }
  </code></pre>
  
  <p><code>myReads.reads(jsValue)</code> returns either <code>JsFailure</code> or <code>JsSuccess(("Joe", "Cocker", "joe.cocker@gmail.com"))</code>... but in case of success I don't want my input JSON be transformed into a tuple... I just want to validate it and keep as is. Is that possible?</p>