Swift 2.1:无法使用ObjectMapper将JSON对象映射到Realm对象

时间:2015-12-17 06:51:39

标签: swift swift2 realm swifty-json objectmapper

我正在尝试使用ObjectMapper将我的JSON对象映射到Realm对象,但我一直都没有。

import RealmSwift
import ObjectMapper

class Notification: Object, Mappable {
dynamic var id = 0
dynamic var isProcessed = false
dynamic var type = ""
var supersedes : Int?

required convenience init?(_ map: Map) {
    self.init()
}

// Mappable
func mapping(map: Map) {
    id <- map["id"]
    isProcessed <- map["isProcessed"]
    type <- map["type"]
    supersedes <- map["supersedes"]
}
}

我使用以下代码行将传入的JSON映射到上面的Realm对象。

let notif = Mapper<Notification>().map(notification) // notif here is nil

通知是一个JSON对象(使用的是SwiftyJSON库)

示例通知JSON:

  {
        data =             {
            buyerInfo =                 {
                image = "";
                name = "";
                userId = UID2268351488;
            };
            sellerSKUs =                 (
                                    {
                    id = SSK236123228808967424;
                    price =                         {
                        amount = 888;
                        currency = THB;
                    };
                    quantity = 2;
                },
                                    {
                    id = SSK563365068895040768;
                    price =                         {
                        amount = 6865;
                        currency = THB;
                    };
                    quantity = 1;
                }
            );
            subOrderId = SOD751798094080240;
        };
        id = 39038;
        isProcessed = 0;
        supersedes = "<null>";
        type = PendingSubOrderConfirmationNotification;
    },

请帮忙!

1 个答案:

答案 0 :(得分:1)

您不能以这种方式组合ObjectMapper和SwiftyJSON。 您可以将SwityJSON rawValue结构中的JSON作为参数提供给ObjectMapper&#39; Mapper.map,或者只使用NSJSONSerialization