JSONSerialization не сериализовал данные при отправке с сервера - PullRequest
0 голосов
/ 07 ноября 2019

JSONSerialization не сериализует данные при отправке с сервера. Это переворачивает данные. Я использую API фильтра данных из бэкэнда. Это отправляет точные данные, я также проверил со стороны почтальона и андроида, но код iOS меняет ответ.

do {
    if let json = try JSONSerialization.jsonObject(with: usableData, options: .mutableLeaves) as? [String: Any] {  

    }
} catch let error {
    OperationQueue.main.addOperation() {
        SVProgressHUD.dismiss()
    }
}

Но если я преобразую данные в строку, то она будет отображаться правильно. ПОЧЕМУ?

var jsonString : String?
jsonString = String.init(data: data, encoding: String.Encoding.utf8)

1 Ответ

0 голосов
/ 12 ноября 2019

Наконец-то у меня есть решение. Сервер отправляет данные более чем 100 ключам в словаре, что является неправильной формой, в этом формате наша сериализация json не смогла сериализовать данные, полученные с сервера. Поэтому мы решили изменить структуру со словаря на массив.

Неверная форма

1025{
id:1025
name:xyz
area:23123
}
1026{
id:1026
name:xyz
area:23123
}
1027{
id:1027
name:xyz
area:23123
}

Правильная форма

 [
    id:1025
    name:xyz
    area:23123
    ,
    id:1026
    name:xyz
    area:23123
    ,
    id:1027
    name:xyz
    area:23123
    ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...