Swift JSON解析字符串数组

时间:2018-01-31 02:19:08

标签: json swift

我需要在Swift中解析以下内容。

"Address" =     {
    AddressLine = "123 ABC";
};

我用过

if let lineArray = routesDict["Address"] as? [String:AnyObject]{
}

给出[“AddressLine”:“123 ABC”]我想得到值123 ABC。 如果我尝试了lineArray [0]则会出错

不能使用“Int”类型的索引下标“[String:AnyObject]”类型的值

2 个答案:

答案 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