我正在创建像这样工作的简单 Json Parser:我有包含 Anyobject 作为数据的 JsonData 类。当我使用 jsonData["key"] 它返回 JsonData 我可以链接 jsonData["key"]["key2"] 等。
我的问题是如何实现该类,以便可以将其转换为字符串:
jsonData["key"] as String 不使用一些解决方法
jsonData["key"].data 作为字符串
代码:
class JsonData:CustomStringConvertible{
let data:AnyObject
var description: String{
get{
return "\(data)"
}
}
init(_ data: Data) {
self.data = try! JSONSerialization.jsonObject(with: data, options: []) as! [[String:AnyObject]]
}
init(_ data: AnyObject) {
self.data = data
}
subscript(key:String) -> JsonData{
let newData = data as! [String:AnyObject]
let test = newData[key]!
return JsonData(test)
}
subscript(index:Int) ->JsonData{
let newData = data[index]!
return JsonData(newData)
}
}