title: toJson(Map("success"->true, "message"->str)) can't be compiled in play2
body: <p>This is my code:</p>
  
  <pre><code>import play.api.mvc._
  import play.api.libs.json._
  import play.api.libs.json.Json._
  import play.api.libs.json.Writes._
  
  class BaseController extends Controller with Secured with DefaultWrites {
  
    private implicit def str2json(str: String) = new {
      def asSuccessJson = toJson(Map("success" -&gt; true, "message" -&gt; str)) // (*)
      def asFailedJson = toJson(Map("success" -&gt; false, "message" -&gt; str)) // (*)
    }
  
  }
  </code></pre>
  
  <p>But it can't be compiled on two <code>(*)</code> lines. The error message is:</p>
  
  <pre><code>Multiple markers at this line
  - No Json deserializer found for type scala.collection.immutable.Map[java.lang.String,Any]. Try 
   to implement an implicit Writes or Format for this type.
  - not enough arguments for method toJson: (implicit tjs: 
       play.api.libs.json.Writes[scala.collection.immutable.Map[java.lang.String,Any]])
       play.api.libs.json.JsValue.Unspecified value parameter tjs.
  </code></pre>
  
  <p>I have to write it as:</p>
  
  <pre><code>def asSuccessJson = toJson(Map("success" -&gt; true.toString, "message" -&gt; str))
  </code></pre>
  
  <p>Notice <code>true.toString</code>. It works but boring.</p>
  
  <p>How to fix it?</p>