Git Product home page Git Product logo

Comments (2)

shenfu1991 avatar shenfu1991 commented on June 18, 2024 1

IF the response array is in a guaranteed format (there are always those 12 fields present, in that order), you can accomplish this by manually decoding from an unkeyedContainer, along the lines of this approach:

struct ResponModel: Decodable {
    var value1: Double?
    var value2: String?
    ...

    required init(from decoder: Decoder) throws {
        var container = try? decoder.unkeyedContainer()
        self.value1 = try container.decodeIfPresent(Double.self)
        self.value2 = try container.decodeIfPresent(String.self)
        ...
    }
}

Thank you very much for your reply, I have successfully decoded.

struct ResponModel: Content{
    var value1: Int?
    var value2: String?
    var value3: String?
    var value4: String?
    var value5: String?
    var value6: String?
    var value7: Int?
    var value8: String?
    var value9: Int?
    var value10: String?
    var value11: String?
    var value12: String?
    
     init(from decoder: Decoder) throws {
        var container = try decoder.unkeyedContainer()
        self.value1 = try? container.decodeIfPresent(Int.self)
        self.value2 = try? container.decodeIfPresent(String.self)
        self.value3 = try? container.decodeIfPresent(String.self)
        self.value4 = try? container.decodeIfPresent(String.self)
        self.value5 = try? container.decodeIfPresent(String.self)
        self.value6 = try? container.decodeIfPresent(String.self)
        self.value7 = try? container.decodeIfPresent(Int.self)
        self.value8 = try? container.decodeIfPresent(String.self)
        self.value9 = try? container.decodeIfPresent(Int.self)
        self.value10 = try? container.decodeIfPresent(String.self)
        self.value11 = try? container.decodeIfPresent(String.self)
        self.value12 = try? container.decodeIfPresent(String.self)
    }

}

from http.

grundoon avatar grundoon commented on June 18, 2024

IF the response array is in a guaranteed format (there are always those 12 fields present, in that order), you can accomplish this by manually decoding from an unkeyedContainer, along the lines of this approach:

struct ResponModel: Decodable {
    var value1: Double?
    var value2: String?
    ...

    required init(from decoder: Decoder) throws {
        var container = try? decoder.unkeyedContainer()
        self.value1 = try container.decodeIfPresent(Double.self)
        self.value2 = try container.decodeIfPresent(String.self)
        ...
    }
}

from http.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.