2017-01-17 2 views
0

Zugriff Ich habe folgende JSON, die ich mit ObjectMapper bin mit zusammen:Object Mapper nicht verschachtelte Array

Open Api

Response-Schnipsel

{ 
    "data": [ 
    { 
     "CategoryName": "רוגע", 
     "CategoryID": "63", 
     "CategoryDate": "2016-08-26 02:12:05", 
     "CategoryImage": "relax.png", 
     "SubCategoryArray": [ 
     { 
      "SubCategoryName": "רוגע", 
      "SubCategoryRefID": "63", 
      "SubCategoryID": "86", 
      "SubCategoryDate": "2016-08-28 02:57:07", 
      "TextArray": [ 
      { 
       "TextID": "32", 
       "Text": "<p dir=\"rtl\"><span style=\"font-size:48px\"><strong><span dir=\"RTL\" lang=\"HE\" style=\"font-family:Arial\">פרופורציה</span></strong> . הכול הבל הבלים. חולף כהרף עין. אז לנשום.</span></p>\r\n" 
      }, 

Mein Problem ist immer die Daten aus "SubCategoryArray" und "TextArray"

Ich habe versucht, das folgende in meinem Mapping zu tun:

import UIKit 
import ObjectMapper 

class APIResult: Mappable { 
    var data : [dataArray]? 
    required init?(map: Map){ 
    } 
    func mapping(map: Map) { 

     data <- map["data"] 
    } 
} 
class dataArray: Mappable{ 
    var CategoryName: String? 
    var CategoryID: String? 
    var CategoryDate: String? 
    var CategoryImage: String? 
    var SubCategoryArray: SubCategoryArray? 
    required init?(map: Map){ 
    } 
    func mapping(map: Map) { 

     CategoryName <- map["CategoryName"] 
     CategoryID <- map["CategoryID"] 
     CategoryDate <- map["CategoryDate"] 
     CategoryImage <- map["CategoryImage"] 
     SubCategoryArray <- map["SubCategoryArray"] 
    }  
} 
class SubCategoryArray: Mappable { 
    var SubCategoryName: String? 
    var SubCategoryRefID: String? 
    var SubCategoryID: String? 
    var SubCategoryDate: String? 
    var TextArray: TextArray? 
    required init?(map: Map){ 
    } 
    func mapping(map: Map) { 

     SubCategoryName <- map["SubCategoryName"] 
     SubCategoryRefID <- map["SubCategoryRefID"] 
     SubCategoryID <- map["SubCategoryID"] 
     SubCategoryDate <- map["SubCategoryDate"] 
     TextArray <- map["TextArray"] 
    } 
} 
class TextArray: Mappable { 
    var TextID: String? 
    var Text:String? 
    required init?(map: Map){ 
    } 
    func mapping(map: Map) { 

     TextID <- map["TextID"] 
     Text <- map["Text"] 
//  SubCategoryID <- map["SubCategoryID"] 
//  SubCategoryDate <- map["SubCategoryDate"] 
//  TextArray <- map["TextArray"] 
    } 
} 

Bitte zeigen Sie, was ich falsch mache.

+0

nach meinem Verständnis ist alles gut, aber Sie verwenden DataArray-Klasse oben und Sie JSON-Antwort zeigen nur Daten, das kann das einzige Problem sein. –

+0

Eigentlich ist es Daten in Daten zu analysieren, aber es ist nicht die unteren Ebenen wie SubCategoryArray und TextArray –

Antwort

1

Dies ist, wie Sie diese Daten

Karte würde
import Foundation 
import ObjectMapper 

class customData: Mappable { 


var categoryName: String = "" 
var categoryId: String = "" 
var subCategoryArray: [SubCategoryArray] = [] 

required init?(_ map: Map) { 

} 

func mapping(map: Map) { 

    categoryName   <- map["data.CategoryName"] 
    categoryId    <- map["data.CategoryID"] 
    subCategoryArray  <- map["data.SubCategoryArray"] 
} 
} 

class SubCategoryArray: Mappable { 


var SubCategoryName: String = "" 
var SubCategoryRefID: String = "" 

var textArray: [TextArray] = [] 
required init?(_ map: Map) { 

} 

func mapping(map: Map) { 

    SubCategoryName   <- map["SubCategoryName"] 
    SubCategoryRefID  <- map["SubCategoryRefID"] 
    textArray    <- map["TextArray"] 

} 
} 

class TextArray: Mappable { 


var TextID: String = "" 
var Text: String = "" 

required init?(_ map: Map) { 

} 

func mapping(map: Map) { 

    TextID    <- map["TextID"] 
    Text    <- map["Text"] 
} 
} 

Lassen Sie mich wissen, wenn Sie irgendwelche Schwierigkeiten finden.

Verwandte Themen