class BaseModel: HandyJSON,Codable {
required init() {}
func mapping(mapper: HelpingMapper) { //カスタム解析ルール、日付番号の色、解析フォーマットを指定したい場合は、サブクラスの実装はこのメソッドをオーバーライドする。
// mapper <<<
// date <-- CustomDateFormatTransform(formatString: "yyyy-MM-dd")
//
// mapper <<<
// decimal <-- NSDecimalNumberTransform()
//
// mapper <<<
// url <-- URLTransform(shouldEncodeURLString: false)
//
// mapper <<<
// data <-- DataTransform()
//
// mapper <<<
// color <-- HexColorTransform()
}
}
MODに必要な特定のjson
以下は、私のプロジェクトで使用されているコードです。 バックエンドはjsonを返します。
SwiftyJSONフレームワークと連携してモデルを変換
JSONから配列モデルへ
func loadBannerData(position:String) {
HttpRequest.loadData(target: PXSHomeAPI.banner(position: position), success: { (data) in
let json = JSON(data)
if let imageArr = JSONDeserializer<ImageModel>.deserializeModelArrayFrom(json: json["data"]["result"].description) {
self.updateDataBlock?()
}) { (code, msg) in
}
}
JSON配列モデルへ
バックエンドのJSONデータ
> {
"code": 200,
"data": {
"result": {
"transfer_shop": "2124", //オンラインからショップへ
"transfer_success": 1788, //ショップへの変換に成功した
"find_shop": 0 //ショップファインダーの成功
}
},
"msg": "SUCCESS"
}
func loadCountData() {
HttpRequest.loadData(target: PXSHomeAPI.statistics, success: { (res) in
let json = JSON(res)
if let model = JSONDeserializer<PXSHomeCountModel>.deserializeFrom(json: json.description, designatedPath: "data.result") {
self.countModel = model
self.updateDataBlock?()
}
}) { (code, message) in
}
}





