如何在swift中使用objectmapper嵌套json?

时间:2016-02-02 07:54:01

标签: swift jsonobject objectmapper

我在swift中使用对象映射器库将JSON解析为对象,我有一个看起来像这样的JSON:

"_links" :     {
    "category.genres":         {
        "href" : "http://dev.abcd.com/api/v1/categories/series/genres"
    }

}

我正在尝试将href映射到模型,但我无法在此处找到任何解决方案。 我试着做

genreLink <- (map["_links"]["category.genres",nested: false]["genres"],urlTransform)

但它不起作用,请指导。感谢

2 个答案:

答案 0 :(得分:1)

不幸的是,我认为使用ObjectMapper的嵌套键功能不支持您的情况。这是因为嵌套中的一个键已经有一个句点。如果没有,映射将如下所示:

genreLink <- (map["_links.category_genre.href"], urlTransform)

不支持按上述方式链接映射。为了正确映射这个,我认为您需要为Links和Category.genres创建一些模型类(实现Mappable),或者如果可能的话更改API响应。

答案 1 :(得分:0)

根据文件:

  

如果嵌套键包含。,则可以按如下方式传递自定义嵌套键分隔符(#629):

func mapping(map: Map) {
    appName <- map["com.myapp.info->com.myapp.name", delimiter: "->"]
}

参考:Custom nested key delimiter in mapping