使用 Swift (NSArray) 解析 JSON
Posted
技术标签:
【中文标题】使用 Swift (NSArray) 解析 JSON【英文标题】:Parsing JSON with Swift (NSArray) 【发布时间】:2017-05-03 15:40:51 【问题描述】:我正在尝试使用 Swift 3 在 Xcode 中解析 JSON 文件。我的问题是获取“值”14.2。我得到的错误是"Type Any has no subscript member".
这是我的 NSArray(又名 firstIndex):
level = 2;
levelType = hl;
name = t;
unit = Cel;
values = (
"14.2"
);
这是我的代码:
if let parameters = test["parameters"] as? NSArray
let firstIndex = parameters[0]
//print(firstIndex)
PROBLEM --> if let values = firstIndex["values"] as? Int
【问题讨论】:
【参考方案1】:键values
的值也是一个数组,用括号表示。
发生错误是因为NSArray
没有提供类型信息。
在 Swift 中,始终使用原生 Array
(此处为 [[String:Any]]
)。
if let parameters = test["parameters"] as? [[String:Any]], let firstIndex = parameters.first
if let values = firstIndex["values"] as? [String], let firstValue = values.first
print(firstValue) // or Double(firstValue)!
【讨论】:
以上是关于使用 Swift (NSArray) 解析 JSON的主要内容,如果未能解决你的问题,请参考以下文章
在 Swift 3 中将 JSON 对象解析为 NSArray
Swift json 解析错误:无法将 NSCFConstantString 类型的值转换为 NSArray
Swift 解析 JSON 时出现问题:无法将“__NSCFDictionary”类型的值转换为“NSArray”错误