title: How setup spray-json to set null when json element is not present?
body: <p>Here is <a href="http://spray.io/documentation/1.1-SNAPSHOT/spray-httpx/spray-json-support/" rel="noreferrer">spray-json example</a>. Here is <a href="https://github.com/spray/spray-json#nulloptions" rel="noreferrer">NullOptions</a> trait.</p>
  
  <p>The problem is when I declare a case class say</p>
  
  <pre><code>object MyJsonProtocol extends DefaultJsonProtocol  {
    implicit val some: RootJsonFormat[Some] = jsonFormat2(Some)
  }
  
  case class Some (
                  name:String,
                  age:Int
                  )
  </code></pre>
  
  <p>and json do not contains a field for example:</p>
  
  <pre><code>{
      "name":"John"
  }
  </code></pre>
  
  <p>I get: <code>java.util.NoSuchElementException: key not found: age</code></p>
  
  <p>So I have to add an <code>Option</code> and <code>NullOption</code> trait like that:</p>
  
  <pre><code>object MyJsonProtocol extends DefaultJsonProtocol with NullOptions  {
    implicit val some: RootJsonFormat[Some] = jsonFormat2(Some)
  }
  
  case class Some (
                  name:String,
                  age:Option[Int]
                  )
  </code></pre>
  
  <p>Everything works. But I do not want to have a case classes where all member are <code>Option</code>. Is there a way to configure spray json unmarshalling to just set nulls without additional <code>Option</code> type? </p>
  
  <p><strong>P.S.</strong></p>
  
  <p>I understand that in general <code>Option</code> is better then null check, but in my case it is just monkey code.</p>
  
  <p>Also complete example of marshalling during response processing is <a href="http://spray.io/documentation/1.2-M8/spray-client/" rel="noreferrer">here</a></p>