使用Swift ObjectMapper库访问映射中的JSONString

时间:2017-01-23 19:49:21

标签: swift realm 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上的同样问题

1 个答案:

答案 0 :(得分:0)

如果有帮助,Realm确实可以store collections of sub-objects

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对象。在这种情况下,您需要自己reserialize it back into JSON