title: json4s extract with default values
body: <p>Here is my test cases</p>
  
  <pre><code>case class WithDefaultValueHolder(values: Seq[WithDefaultValue])
  case class WithDefaultValue(name: String, gender: String = "male")
  
  it("default with valid json"){
    val res = WithDefaultValueHolder(Seq(WithDefaultValue("Bob")))
    parse("""{"values":[{"name":"Bob","gender":"male"}]}""").extract[WithDefaultValueHolder](
      DefaultFormats, Manifest.classType(classOf[WithDefaultValueHolder])) shouldBe (res)
  }
  </code></pre>
  
  <p>Below test also passed.It considers malformed json as valid json for default values. Why? How to restrict this behaviour. How to fail below test case?</p>
  
  <pre><code>it("default with invalid json"){
    val res = WithDefaultValueHolder(Seq(WithDefaultValue("Bob")))
    parse("""{"values":[{"name":"Bob","xyz":"abc"}]}""").extract[WithDefaultValueHolder](
      DefaultFormats, Manifest.classType(classOf[WithDefaultValueHolder])) shouldBe (res)
  }
  </code></pre>