Arrays 获取JSON数据并解析为数组
我需要在4个不同的数组中解析来自这个url()的数据,一个包含名称,一个包含图像url,另一个包含其描述 应该是这样的:Arrays 获取JSON数据并解析为数组,arrays,json,swift,Arrays,Json,Swift,我需要在4个不同的数组中解析来自这个url()的数据,一个包含名称,一个包含图像url,另一个包含其描述 应该是这样的: nameArray = ['Iluminação','Acessibilidade','Segurança','Sinalização'] descriptionArray = ['Problemas com iluminação pública como postes com lâmpadas queimadas','Problemas na infraestrutura
nameArray = ['Iluminação','Acessibilidade','Segurança','Sinalização']
descriptionArray = ['Problemas com iluminação pública como postes com lâmpadas queimadas','Problemas na infraestrutura de acessibilidade como calçadas impróprias','Problemas de segurança como falta de policiamento','Problemas de sinalização como placas quebradas ou pichadas']
imageArray = ['https://s3-sa-east-1.amazonaws.com/pipow/categorias/icones/IluBT%403x.png','https://s3-sa-east-1.amazonaws.com/pipow/categorias/icones/AccessBT@3x.png','https://s3-sa-east-1.amazonaws.com/pipow/categorias/icones/SegBT@3x.png','https://s3-sa-east-1.amazonaws.com/pipow/categorias/icones/SinBT@3x.png']
使用Alamofire可以得到如下结果:
Alamofire.request("https://fierce-wildwood-95045.herokuapp.com/categoria", method: .get, parameters: nil, encoding: URLEncoding.default, headers: [:])
.responseJSON { respone in
let response_array = respone.result.value as! NSArray
var id_array : [NSDictionary] = []
var name_array : [String] = []
var description_array : [String] = []
var image_array : [String] = []
for i in 0..<response_array.count
{
id_array.append(((response_array[i] as! NSDictionary).value(forKey: "_id") as! NSDictionary))
name_array.append(((response_array[i] as! NSDictionary).value(forKey: "nome") as! String))
description_array.append(((response_array[i] as! NSDictionary).value(forKey: "descricao") as! String))
image_array.append(((response_array[i] as! NSDictionary).value(forKey: "urlImagem") as! String))
}
print("id = \(id_array)")
print("name = \(name_array)")
print("description = \(description_array)")
print("image = \(image_array)")
}
Alamofire.request(“https://fierce-wildwood-95045.herokuapp.com/categoria,方法:.get,参数:nil,编码:URLEncoding.default,头:[:]
.responseJSON{respone in
让response_array=respone.result.value为!NSArray
变量id_数组:[NSDictionary]=[]
变量名称\u数组:[字符串]=[]
变量说明\u数组:[字符串]=[]
var image_数组:[String]=[]
对于0中的i..您是否使用了swiftyjson?这将使操作更简单。您需要4个数组而不是合适结构的单个数组,这有什么特殊原因吗?您可以使用Codable
创建该数组。此外,请编辑您的问题,以显示您尝试过的代码以及哪些不起作用或您遇到的问题ng.为什么NSArray
/NSDictionary
而不是Swift本机集合类型?为什么valueForKey
而不是key subscription?为什么Alamofire
而不是URLSession
?为什么丑陋的基于索引的循环而不是快速枚举?为什么调用(response\u array[i]as!NSDictionary)
4次以一次又一次地获取相同的对象,而不是临时变量(快速枚举甚至不需要)?为什么使用snake\u case变量名而不是camelCase?