字典数据以非JSON样式打印

时间:2018-10-17 21:07:45

标签: ios json swift swift4

我有一个字典,可以将其转换为JSON,但是当我将其打印出来时,我会有反斜杠,这使得它很难作为NSDictionary获得。 下面是我的代码:

let postParameters = ["action":"check","msis":"343","username":"username,"os":"ios"]

然后我使用postParameters尝试转换为JSON。

if let jsonParameters = try? JSONSerialization.data(withJSONObject: postParameters, options: .prettyPrinted) {
    let theJSONText = String(data: jsonParameters,encoding: String.Encoding.utf8)
    print("JSON string = \(theJSONText)")
}

现在,当我打印出JSON时,其格式如下:

JSON string = Optional("{\n  \"action\" : \"check\",\n  \"os\" : \"ios\",\n  \"msis\" : \"343\",\n  \"username\" : \"username\"\n}")

现在我的问题是如何将字典转换为具有不带反斜杠和\n的JSON。

1 个答案:

答案 0 :(得分:0)

如果您重写代码以使用可选绑定解开theJSONText字符串,则该字符串将按预期工作:

if let jsonParameters = try? JSONSerialization.data(withJSONObject: postParameters, options: .prettyPrinted),
    let theJSONText = String(data: jsonParameters, encoding: .utf8) {
    print("JSON string = \(theJSONText)")
}

显示:

JSON string = {
  "os" : "ios",
  "msis" : "343",
  "action" : "check",
  "username" : "username"
}