如何更改JSON密钥名称Swift

时间:2018-08-30 13:04:06

标签: ios json swift swifty-json

在我的应用程序中,我使用了相同的键名来获取数据,现在在json响应中,数据是相同的,但是在一个地方,键名已更改,因此我想在json中重命名数组的键名,这就是我的意思。正在堆栈溢出中被搜索,但找不到任何可靠的方法,请指导我做任何好的方法

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

我想要具有以下键的JSON:

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

2 个答案:

答案 0 :(得分:1)

您可以使用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“。

尝试此代码,让我知道仍然是一个问题。我希望这对您有用。

答案 1 :(得分:0)

我认为您的问题是您想继续使用"Images":[]键,而不必更改其余代码。

在您想要更改的JSON响应中,您可以尝试这样的操作。

response["Images"] = response["pro_data"]