2015-10-13 234 views
0
动态组装复杂的多层面字典对于JSON

我想组装像一些复杂的JSON动态如下:斯威夫特

{ 
    "data": { 
    "attributes": { 
    "duration_sec": 200 
    }, 
    "relationships": { 
    "address": { 
     "data": { 
     "id": 1, 
     "type": "addresses" 
     } 
    } 
    } 
}, 
    "included": [ 
    { 
     "type": "addresses", 
     "id": null, 
     "attributes": { 
     "zip_code": "90210" 
     } 
    } 
    ] 
} 

也就是说,我有Address结构,我通过对需要循环数组组装relationshipsincluded。我宁愿如果这是一本词典,但我也可以使用SwiftyJSON来代替组装JSON对象。

当我自己尝试这样做时,我一直在编译器中遇到模糊问题,所以我实在不知道如何解决这个问题。我来自动态编程语言,所以我只是觉得这一点很普通。

回答

0

很难回答那个没有确切的编译器错误的人,但通常有关歧义的错误来自于你试图创建异构字典并且编译器无法推断它的类型的事实。

如果要创建像上面的JSON对象和具有使用JSON(字典:)初始化应声明一个类型字典的手动作为[字符串:AnyObject]

例如:

let exampleDict: [String: AnyObject] = ["one" : 1, "two": "two", "three": [1, 2, 3]]