Nested json using logstash mutate filter

This works for me.

"@timestamp" => 2019-08-23T14:52:17.830Z,
      "type" => "gateway",
   "payload" => {
    "message" => " Endpoint response headers: {content-type=application/json;charset=UTF-8, date=Fri, 23 Aug 2019 14:52:17 GMT, x-envoy-upstream-service-time=3, server=envoy, transfer-encoding=chunked}"
}

Note that @timestamp is a LogStash::Timestamp, not a string.