1
Swift 4より前にコードが完全に動作していました。単純なJSONファイルを解析しています。すべてをモデルクラスにマッピングしています。Swift 4 - JSONの解析中にObjectMapperを使用する
これは私のコード例です:
まずはjsonファイルを取得します。
if let path = Bundle.main.path(forResource: "myFile", ofType: "json") { }
次に解析することができます。 parsedZonesがnilであるので、私はクラッシュしています
{
"info": {
....
....
},
"zones": [{
"code": "EN"
}],
}
:
do {
let jsonData = try Data(contentsOf: URL(fileURLWithPath: path), options: NSData.ReadingOptions.mappedIfSafe)
let json = JSON(data: jsonData)
if let jsonZones = json["zones"].array {
let parsedZones = Mapper<Zone>().mapArray(JSONObject: jsonZones.description)
parsedZones?.forEach({ (element) -> Void in
// Do stuff...
})
}
は今、私は
class Zone: Object, Mappable {
@objc dynamic var code: String?
required convenience init?(map: Map) {
self.init()
mapping(map: map)
}
func mapping(map: Map) {
code <- map["code"]
}
あなたに私のゾーンクラスを表示することができますまた、私のJSONファイルを見るために私が必要になります。 私はnilを確認できますが、Swift 3で作業していましたが、Swift 4に変換する前に何も変更していません。 JSONファイルに関しては、nilであってはいけません。
助けてもらえますか?
'スウィフト4でJSONEncoder/Decoder'がObjectMapper'はかなり時代遅れ'作る;) – vadian
あなたはより具体的な@vadianことはできますか?私は非常に興味があります – Balanced
SwiftとFoundationの新機能についてのWWDCビデオをご覧ください。 – vadian