程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Swift 4 JSON可编码ID作为键大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Swift 4 JSON可编码ID作为键?

开发过程中遇到Swift 4 JSON可编码ID作为键的问题如何解决?下面主要结合日常开发的经验,给出你关于Swift 4 JSON可编码ID作为键的解决方法建议,希望对你解决Swift 4 JSON可编码ID作为键有所启发或帮助;

请检查 :

struct ResponseData: Codable {
    struct Inner : Codable {
        var animalID   : String
        var animalname : String

        private enum CodingKeys : String, CodingKey {
            case animalID     = "animalID"
            case animalname   = "animalname"
        }
    }

    var Status: String
    var foundRows: Int
    var data : [String: Inner]

    private enum CodingKeys: String, CodingKey {
        CASE status = "status"
        case foundRows = "foundRows"
        case data = "data"
    }
}

let Json = """
    {
        "status": "ok",
        "messages": {
            "generalmessages": ["dsfsdf"],
            "recordmessages": ["sdfsdf"]
        },
        "foundRows": 2515989,
        "data": {
            "181": {
                "animalID": "181",
                "animalname": "SophIE"
            },
            "182": {
                "animalID": "182",
                "animalname": "SophIE"
            }
        }
    }
"""
let data = Json.data(using: .utf8)!
let decoder = JsONDecoder()

do {
    let JsonData = try decoder.decode(ResponseData.self, from: data)
    for (key, value) in JsonData.data {
        print(key)
        print(value.animalID)
        print(value.animalName)
    }
}
catch {
    print("error:\(error)")
}

解决方法

我想将Swift 4的可编码功能与json一起使用,但其中一些键没有设置名称。而是有一个数组,它们是像

{
 "status": "ok","messages": {
   "generalmessages": [],"recordmessages": []
 },"foundRows": 2515989,"data": {
   "181": {
     "animalID": "181","animalName": "Sophie","animalBreed": "Domestic Short Hair / Domestic Short Hair / Mixed (short coat)","animalGeneralAge": "Adult","animalSex": "Female","animalPriMaryBreed": "Domestic Short Hair","animalupdatedDate": "6/26/2015 2:00 PM","animalOrgID": "12","animalLOCATIOnDistance": ""

您会在其中看到181个ID。有人知道如何处理181,以便我将其指定为密钥吗?该数字可以是任何数字,并且每个数字都不相同。

想要这样的事情

struct messages: Codable {
    var generalmessages: [String]
    var recordmessages: [String]
}

struct data: Codable {
    var
}

struct Cat: Codable {
    var Status: String
    var messages: messages
    var foundRows: Int
    //var 181: [data] //what do I place here
}

提前致谢。

大佬总结

以上是大佬教程为你收集整理的Swift 4 JSON可编码ID作为键全部内容,希望文章能够帮你解决Swift 4 JSON可编码ID作为键所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。