Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 获取JSON数据并解析为数组_Arrays_Json_Swift - Fatal编程技术网

Arrays 获取JSON数据并解析为数组

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

我需要在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 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?