【问题标题】:How to change JSON key name Swift?如何更改 JSON 键名 Swift?
【发布时间】:2019-02-05 10:42:00
【问题描述】:

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

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

我想要带有这些键的 JSON:

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

【问题讨论】:

  • 你可以用swift4吗?
  • 是的,我正在使用 swift4 我想在得到响应后重命名密钥
  • 是的,您可以在 swift 4 中使用它,您需要在 swift4 中搜索有关高级 JSON 解析的信息
  • 你能贴一些代码吗

标签: ios json swift swifty-json


【解决方案1】:

我假设您的问题是您想继续使用 "Images":[] 键,而无需更改其余代码。

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

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

【讨论】:

  • @Jhony,当你这样做,然后打印你的对象response,它没有新的密钥吗?
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2019-09-02
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    • 2021-06-27
    • 2017-05-14
    • 1970-01-01
    • 2016-06-18
    • 1970-01-01
    相关资源
    最近更新 更多