Подтвердить что ты не робот

Swift: преобразовать строку JSON в массив пользовательского объекта с помощью ObjectMapper

В настоящее время я использую ObjectMapper для Swift (см. https://github.com/Hearst-DD/ObjectMapper/) для преобразования String из HTTP-запроса в объект пользовательского класса. JSON, который я получаю от запроса, представляет собой массив JSON, и я хотел бы преобразовать его в Array из типа CustomObject.

Я пробовал это следующим образом:

var object = Mapper<Array<CustomObject>>().map(string: json)

Но затем я получаю сообщение об ошибке: 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"]
    }
}
4b9b3361

Ответ 1

Я нашел решение, которое, кажется, работает:

var list: Array<ProductVariant> = Mapper<ProductVariant>().mapArray(string: json)

Когда я петлю через массив, он дает мне правильные атрибуты для CustomObject.

Моя ошибка заключалась в том, что я попытался поместить Array в тип Mapper, как показано в моем вопросе.

Ответ 2

Другой вариант:

let products = Mapper<ProductVariant>().mapArray(JSONString: json)