title: Error Domain=NSCocoaErrorDomain Code=3840 When JsonString parsing in Swift5
body: <p>I'm getting a push message. It seems to be jsonString. </p>
  
  <p>But this is not changed into jsonArray.  What's the problem?</p>
  
  <p><strong>AppDelegate.swift</strong></p>
  
  <pre class="lang-swift prettyprint-override"><code>        guard
              let aps = data[AnyHashable("aps")] as? NSDictionary,
              let alert = aps["alert"] as? NSDictionary,
              let body = alert["body"] as? String
              else {
                  Log.Error("it's not good data")
                  return
          }
          let jsonStringData : Data = body.data(using: .utf8)!
          Log.Info(jsonStringData)
          do {
              let jsonArray = try JSONSerialization.jsonObject(with: jsonStringData, options : .allowFragments) as? [Dictionary&lt;String,Any&gt;]
  
                  Log.Info(jsonArray) // use the json here
  
          } catch let error as NSError {
              Log.Error(error)
          }
  </code></pre>
  
  <p><strong>Value of body (String)</strong></p>
  
  <pre><code>{ 
      notification : {
  
                              "title" : "test title.",  
  
                              "body" : "test context."            
  
                        },
  
       data : {
  
                      "image" : "http://11.111.111.111:100000000/_img/sample_01.jpg",  
  
                      "page_url" : "http://11.111.111.111:100000000/test?address=",   
  
                      "type" : "test"       
  
               }
  }
  </code></pre>
  
  <p>The log of body is like this in JSON form. But this is not translated. I don't know what I'm missing.</p>
  
  <p>**Error is : ** </p>
  
  <blockquote>
    <p>Error Domain=NSCocoaErrorDomain Code=3840 "No string key for value in
    object around character 7." UserInfo={NSDebugDescription=No string key
    for value in object around character 7.}</p>
  </blockquote>