一种简单的实现方法是扩展CollectionType。
使用可选的绑定和向下转换,然后序列化为数据,然后转换为字符串。
extension CollectionType where Generator.Element == [String:AnyObject] {
func toJSONString(options: NSJSONWritingOptions = .PrettyPrinted) -> String {
if let arr = self as? [[String:AnyObject]],
let dat = try? NSJSONSerialization.dataWithJSONObject(arr, options: options),
let str = String(data: dat, encoding: NSUTF8StringEncoding) {
return str
}
return "[]"
}
}
let arrayOfDictionaries: [[String:AnyObject]] = [
["abc":123, "def": "ggg", "xyz": true],
["abc":456, "def": "hhh", "xyz": false]
]
print(arrayOfDictionaries.toJSONString())
输出:
[
{
"abc" : 123,
"def" : "ggg",
"xyz" : true
},
{
"abc" : 456,
"def" : "hhh",
"xyz" : false
}
]