我需要在Swift中解析以下内容。
"Address" = {
AddressLine = "123 ABC";
};
我用过
if let lineArray = routesDict["Address"] as? [String:AnyObject]{
}
给出[“AddressLine”:“123 ABC”]我想得到值123 ABC。 如果我尝试了lineArray [0]则会出错
不能使用“Int”类型的索引下标“[String:AnyObject]”类型的值
答案 0 :(得分:1)
它是Dictionary,而不是数组。下载字典如下:
//API's
public function incomingsData(){
return DV::all();
}
public function incomings(Request $request, DV $disbVchr){
return view('admin.dv.dv-incomings');
}
我建议您将变量名称更改为JSON
(因为它是字典,而不是数组)
答案 1 :(得分:1)
由于它是另一个字典中的字典,您可以使用以下内容:
let routesDict = ["Address": ["AddressLine":"123 ABC"]]
if let routeAddress = routesDict["Address"] as? [String:Any] {
print(routeAddress["AddressLine"] ?? "") //123 ABC
}
你也应该使用Any
(不是AnyObject
),这在Swift环境中更正确:
Any和AnyObject之间的区别在于,大多数Swift本机类型都是不从NSObject继承的结构,因此编译器必须从Swift本机类型(如String,Double,Date等)转换为其对应的使用AnyObject,如NSString,NSNumber和NSDate