【发布时间】:2019-11-18 09:00:45
【问题描述】:
目标是将 innerJson 转换为 Array。这有什么错误?请帮忙
var outerJson:String? = "{\"outerkey1\":\"Air France\",\"innerJson\":\"[{\\\"innerJsonKey1\\\":\\\"1\\\",\\\"innerJsonKey2\\\":{\\\"businessPurpose\\\":\\\"Test\\\",\\\"description\\\":\\\"Testing \\\"}},{\\\"innerJsonKey1\\\":\\\"2\\\",\\\"innerJsonKey2\\\":{\\\"businessPurpose\\\":null,\\\"description\\\":null}}]\",\"AirClass\":\"null\",\"FromTo\":\"Utti (QVY)\\/Umea (UME)\"}"
var convertedDict:[String:Any]?
if let data = outerJson?.data(using: String.Encoding.utf8) {
do {
convertedDict = try JSONSerialization.jsonObject(with: data, options: []) as? [String:Any]
//print(convertedDict)
} catch {
//CALogger.dPrint(error)
}
}
//print(convertedDict?["innerJson"] as Any)
var array = convertedDict?["innerJson"] as? Array<[String:Any]>
print(array)
【问题讨论】:
-
@Pramod,试过了。没用。
-
不相关但您可以删除整个
options参数。如果预期的类型是集合类型,那么这些选项在 Swift 中都不相关。 -
您在 JSON 中将数组作为字符串