2016-05-24 60 views
1

我正在使用下面的鏈接來映射對象。對象映射:如何在不指定鍵的情況下映射數組對象

https://github.com/Hearst-DD/ObjectMapper

我對着問題而(在下面Json結構)陣列對象,它是無鍵映射serviceids

如果有人在工作,請幫助我。

Regards, Guddu。

JSON結構:

Consumer = (
    { 
address = "12120 Sunset Hills Road Reston Virginia"; 
       clientid = 280396; 
       consumerid = 280396; 
       lag = 0; 
       lat = 0; 
       name = "William Holland"; 
       zipcode = 64321; 
serviceids =     (
        5, 
        100, 
        101 
    ) 
} 

消費映射類:

serviceIdsArray <- map["serviceids"] 
     serviceids = NSSet(array: serviceIdsArray!) 

在Serviceids類:

func mapping(map: Map) { 

     serviceid <- map[?] 

    } 

回答

0

模型應該是這樣的:

class JsonModel: Mappable { 
var address: String? 
var clientid: Int? 
var consumerid: Int? 
var lag: Int? 
var lat: Int? 
var name: String? 
var zipcode: Int? 
var serviceids: [Int]? 
required init?(_ map: Map) { 

} 

// Mappable 
func mapping(map: Map) { 
    address <- map["address"] 
    clientid <- map["clientid"] 
    consumerid <- map["consumerid"] 
    lag <- map["lag"] 
    lat <- map["lat"] 
    name <- map["name"] 
    zipcode <- map["zipcode"] 
    serviceids <- map["serviceids"] 
} 
} 

然後使用:

let json = [ 
     "address" : "12120 Sunset Hills Road Reston Virginia", 
     "clientid" : 280396, 
     "consumerid" : 280396, 
     "lag" : 0, 
     "lat" : 0, 
     "name" : "William Holland", 
     "zipcode" : 64321, 
     "serviceids" :[ 
      5, 
      100, 
      101 
     ] 
    ] 
    let model = JsonModel(JSON: son) 

serviceids只是一個數組,不需要做模型,它

+0

但這裏是我的問題是如何設置VAR serviceids:[INT] ?在模型類中。在覈心數據中設置屬性時,它不允許我作爲int數組。我把這個手動得到下面的行崩潰: serviceids < - 地圖[「服務」] 請指導這一點。 –

+0

您可以將[int]轉換爲NSData並將其存儲在覈心數據中,但這不是最好的方法。如果我是你,我會選擇Realm來存儲,因爲objectmapper提供了很好的支持。 –