Доступ к JSONString при сопоставлении с использованием библиотеки Swift ObjectMapper

Я хотел бы вернуть собственную строку JSON для хранения в Realm, поскольку Realm не может хранить коллекции собственных объектов.

Пример JSON: { "root": { "id":1, "name":"name", "array":["a", "b", "c"] }}

func mapping(map:Map) {
  id <- map["id]
  name <- map["name"]
  array <- map["array"].JSONString  // array = "[\"a\", \"b\", \"c\"]"
}

Это возможно?

Тот же вопрос на github https://github.com/Hearst-DD/ObjectMapper/issues/ 730


person dmorrow    schedule 23.01.2017    source источник


Ответы (1)


Если это поможет, Realm действительно сможет сохранять коллекции подобъектов. .

class StringObject: Object {
    dynamic var string = ""
}

class Root: Object {
    dynamic var id = 0
    dynamic var name = ""
    let array = List<StringObject>()
}

Кроме того, если я правильно понимаю ObjectMapper, к тому времени, когда map["array"] уже передается в mapping, он уже преобразован из JSON в объект Swift. В этом случае вам нужно будет повторно сериализовать его обратно в JSON. самим собой.

person TiM    schedule 25.01.2017