Swift: convertissez la chaîne JSON en tableau D'objet personnalisé avec ObjectMapper
j'utilise actuellement ObjectMapper pour Swift (voir:https://github.com/Hearst-DD/ObjectMapper/) pour convertir un String
d'une requête HTTP à un objet d'une classe personnalisée. Le JSON que j'obtiens de la requête est un JSON Array, et je voudrais le convertir en Array
de type CustomObject
.
j'ai essayé comme ceci:
var object = Mapper<Array<CustomObject>>().map(string: json)
Mais ensuite, j'obtiens une erreur: Can not find member 'map'
.
Comment faut-il procéder?
Edit: c'est mon CustomObject
Classe, à partir de maintenant appelé 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"]
}
}
2 réponses
j'ai trouvé une solution qui semble fonctionner:
var list: Array<ProductVariant> = Mapper<ProductVariant>().mapArray(string: json)
Quand je boucle à travers le tableau, il me donne les attributs corrects pour l' CustomObject
.
Mon erreur est que j'ai essayé de mettre le Array
dans le type de Mapper
, comme indiqué dans ma question.
une autre option est
let products = Mapper<ProductVariant>().mapArray(JSONString: json)