0

私のアプリはSwift 3.1で書きます。そして、サーバーからjsonを取得して解析した後String、奇妙な追加文字を取得しました。サーバーからの文字列応答は: です"name" : "nhatlee's store"が、Json をコードで解析した後name = dict["name"] as? String、結果はname = Lee Tester\'s Store. このケースでjsonを解析する方法を修正するのを手伝ってください。サーバーからデータを取得するコードは次のとおりです。

self.requestWith(.post, url: url, parameters: params) { (data, error) in
        if let data = data?["mentions"] as? Array<AnyObject>{
            var mentionObjs = [MentionModel]()
            for obj in data{
                print(obj)
                let mention = MentionModel(from: obj as! [String : AnyObject])
                mentionObjs.append(mention)
            }
            Completion(Result.Success(mentionObjs))
        } else {
        Completion(Result.Failure(error))
        }
    }

そしてjson応答は次のとおりです。

    {
    email = "nhatlee3@gmail.com";
    id = 516;
    image = "<null>";
    name = nhatlee3;
    "object_class" = User;
}
{
    id = 106;
    image = "<null>";
    name = "Lee Tester's Store";
    "object_class" = Store;
    "user_id" = 352;
}

そして、ここに私のモデルオブジェクトがあります(私はjsonをモデルに解析します->コード構造の良い方法がわからないので、より良い方法があればアドバイスをください):

    struct MentionModel {
    var id: Int?
    var name: String?
    var imageUrl: String?
    var objectClass: String?
    init(from dict: [String: AnyObject]) {
        id          = dict["id"] as? Int
        name        = dict["name"] as? String
        imageUrl    = dict["image"] as? String
        objectClass = dict["object_class"] as? String
    }
}
4

0 に答える 0