Как изменить имя ключа JSON Swift? - PullRequest
0 голосов
/ 30 августа 2018

В моем приложении я использовал одно и то же имя ключа для получения данных везде, теперь в ответе json данные совпадают, но в одном месте имя ключа изменяется, поэтому я хочу переименовать имя ключа массива в моем json, это то, что я Я ищу по переполнению стека, но не могу найти какой-либо надежный способ, пожалуйста, сообщите мне любой хороший способ сделать это

{"status":"success","msg":"deleted","pro_data":[]}

Я хочу JSON с этими ключами:

{"status":"success","msg":"deleted","Images":[]}

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

Я предполагаю, что ваша проблема в том, что вы хотите продолжать использовать ключ "Images":[], не меняя остальную часть кода.

В своем ответе JSON, который вы хотите изменить, вы можете попробовать что-то вроде этого.

response["Images"] = response["pro_data"]
0 голосов
/ 30 августа 2018

вы можете использовать Codable для создания модели JSON, и в этом вы можете настроить свой ключ.

Я предполагаю, что ваш ответ JSON ({"status":"success","msg":"deleted","pro_data":[]}) доступен в формате Data.

Итак, см. Следующий код, который используется для создания модели JSON для ваших данных.

struct WSModel: Codable {
    var status  : String?
    var msg     : Int?
    var Images  : [Any]?

    enum CodingKeys: String, CodingKey {
        case currentPage    = "status"
        case msg            = "msg"
        case Images         = "pro_data"
    }
}

Из-за того, что в вашем массиве нет данных какого-либо типа, я сохраняю тип данных Any. Этот код работает, когда ключами ответа являются «status», «msg», « pro_data».

Попробуйте этот код и дайте мне знать, по-прежнему проблема. Я надеюсь, что это сработает для вас.

...