Swift:使用ObjectMapper将JSON字符串转换为自定义对象数组

bas*_*aad 18 json swift

我目前正在使用ObjectMapper for Swift(参见:https://github.com/Hearst-DD/ObjectMapper/)将StringHTTP请求转换为自定义类的对象.我从请求中获得的JSON是一个JSON数组,我想将其转换为Arrayfrom类型CustomObject.

我试过这样的:

var object = Mapper<Array<CustomObject>>().map(string: json)
Run Code Online (Sandbox Code Playgroud)

但后来我得到一个错误:Can not find member 'map'.

该怎么做?

编辑:这是我的CustomObject班级,从现在开始叫ProductVariant:

public class ProductVariant: Mappable {

    /* Attributes */

    public var id = 0
//    var size : Size = nil
    public var SKU = ""
    public var stock = 0
    public var numberOfDefects = 0

    /* Constructors */

    public init?() {
        // Empty Constructor
    }

    required public init?(_ map: Map) {
        mapping(map)
    }

    /* Methods */

    public func mapping(map: Map) {
        id <- map["id"]
        SKU <- map["SKU"]
        stock <- map["stock"]
        numberOfDefects <- map["numberOfDefects"]
    }
}
Run Code Online (Sandbox Code Playgroud)

bas*_*aad 34

我找到了一个似乎有效的解决方案:

var list: Array<ProductVariant> = Mapper<ProductVariant>().mapArray(string: json)
Run Code Online (Sandbox Code Playgroud)

当我遍历数组时,它为我提供了正确的属性CustomObject.

我的错误在于我试图把它Array放在类型中Mapper,如我的问题所示.

  • 谢谢你分享这个,你已经预防了很多人的死亡. (8认同)