title: Json response in Go(Gin) without escape characters
body: <p>I have recently started working on Go APIs using GIN. My API is getting the data from DB with two columns where one column contains integer and other contains a json string.
  The json string is dynamic and hence i cant use struct for that.
  I am using <code>map[string]interface{}</code> to parse the json and modify it and then parse it back to json using <code>json.Marshal</code>. Now i am returning this json string as a response but getting escape characters. Have done some search regarding that, but didnt find any solution yet.
  Here is the part of code that i am using</p>
  <pre><code>var interface_obj map[string]interface{}
  json.Unmarshal([]byte(grants.Data), &amp;interface_obj)
  grants_map := interface_obj[&quot;role_grants&quot;].(map[string]interface{})
  jsonString, err := json.Marshal(grants_map)
  jsonBody := string(jsonString)
  </code></pre>
  <p>After this, I am returning this JSON as response in GIN framework like this</p>
  <pre><code>c.JSON(http.StatusCreated, gin.H{&quot;message&quot;: &quot;Json retrieved successfully&quot;, &quot;data&quot;: jsonBody})
  </code></pre>
  <p>But the output i am getting is</p>
  <pre><code>{
      &quot;data&quot;: &quot;[{\&quot;action\&quot;:\&quot;read\&quot;,\&quot;resource\&quot;:\&quot;project\&quot;},{\&quot;action\&quot;:\&quot;all\&quot;,\&quot;resource\&quot;:\&quot;users\&quot;},{\&quot;action\&quot;:\&quot;all\&quot;,\&quot;resource\&quot;:\&quot;roles\&quot;},{\&quot;action\&quot;:\&quot;all\&quot;,\&quot;resource\&quot;:\&quot;project-settings\&quot;},{\&quot;action\&quot;:\&quot;create\&quot;,\&quot;resource\&quot;:\&quot;single-entity-screening\&quot;},{\&quot;action\&quot;:\&quot;read\&quot;,\&quot;resource\&quot;:\&quot;single-entity-screening\&quot;},{\&quot;action\&quot;:\&quot;create\&quot;,\&quot;resource\&quot;:\&quot;multi-batch-screening\&quot;},{\&quot;action\&quot;:\&quot;read\&quot;,\&quot;resource\&quot;:\&quot;multi-batch-screening\&quot;},{\&quot;action\&quot;:\&quot;read\&quot;,\&quot;resource\&quot;:\&quot;workspace\&quot;},{\&quot;action\&quot;:\&quot;allocate\&quot;,\&quot;resource\&quot;:\&quot;workspace\&quot;},{\&quot;action\&quot;:\&quot;update\&quot;,\&quot;resource\&quot;:\&quot;workspace\&quot;},{\&quot;action\&quot;:\&quot;read\&quot;,\&quot;resource\&quot;:\&quot;case\&quot;},{\&quot;action\&quot;:\&quot;allocate\&quot;,\&quot;resource\&quot;:\&quot;case\&quot;},{\&quot;action\&quot;:\&quot;review\&quot;,\&quot;resource\&quot;:\&quot;case\&quot;},{\&quot;action\&quot;:\&quot;update\&quot;,\&quot;resource\&quot;:\&quot;case\&quot;},{\&quot;action\&quot;:\&quot;read\&quot;,\&quot;resource\&quot;:\&quot;report\&quot;},{\&quot;action\&quot;:\&quot;read\&quot;,\&quot;resource\&quot;:\&quot;audit-trail\&quot;},{\&quot;action\&quot;:\&quot;read\&quot;,\&quot;resource\&quot;:\&quot;delivery\&quot;}]&quot;,
      &quot;message&quot;: &quot;Grants retrieved successfully&quot;
  }
  </code></pre>
  <p>I printed it on my console and it looked fine there, but causing this issue on response.
  Is there any way to resolve this using some standard way? Please guide
  Thanks</p>