Данные словаря были напечатаны в не-JSON стиле - PullRequest
0 голосов
/ 18 октября 2018

У меня есть словарь, который я конвертирую в 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}")

Теперь мой вопрос: как мне преобразовать мой словарь, чтобы иметь JSON без обратной косой черты и \n.

1 Ответ

0 голосов
/ 18 октября 2018

Если вы переписываете свой код, чтобы использовать необязательную привязку, чтобы развернуть строку 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"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...