遇到json-xcode / swift问题

问题描述 投票:-3回答:1

我试图将我的代码显示的json中打印的值添加到特定的数组。例如,我想从JSon文件中获取lat / lng / name并将其添加到数组中。我该怎么做呢?我是新手,很乐意帮助他。我的Json代码在评论中!谢谢

func getBurritosInArea() {
        let keyword:String = "burrito"
                let urlString = 
"https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=\(latitude),\(longitude)&&fields=formatted_address,name,rating&radius=1500&type=restaurant&keyword=(\apikey)" 
                guard let request = URL(string:urlString) else { return }
                let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
                    guard let data = data, error == nil,
                        let json = try? JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.mutableContainers),
                        let results = json as? [String: Any] else { //error handling
                            return
                    }
                    if let placeResults = results["results"] as? [[String: Any]]{
                        for placeResult in results{
                             print(placeResult)

                    }
                    }

                }
            }
    }
json code: 
viewport = { 
northeast = { 
lat = "40.74642527989272"; 
lng = "-73.97449797010727"; }; 
southwest = { 
lat = "40.74372562010728"; 
lng = "-73.97719762989271"; }; 
}; 
}; 
icon = "maps.gstatic.com/mapfiles/place_api/icons/restaurant-71.png"; id = c884c332c5cc1578d0c1d4d7f4d4ad451358c9e6; 
name = "Baby Bo's Cantina"; "opening_hours" = { "open_now" = 1; }; 

json swift xcode url
1个回答
0
投票

嗨请尝试下面的代码,首先创建一个名为aryDict的数组,

func getBurritosInArea()
{
    guard let url = URL(string: "your url") else {return}
    let task = URLSession.shared.dataTask(with: url) { (data, response, error) in
        guard let dataResponse = data,
            error == nil else {
                print(error?.localizedDescription ?? "Response Error")
                return }
        do{
            //here dataResponse received from a network request
            let jsonResponse = try JSONSerialization.jsonObject(with:
                dataResponse, options: []) as? NSArray
            //                print(jsonResponse?.value(forKey: STR_NAME) as Any )

            let array = NSArray.init(array: jsonResponse ?? [])
            var aryDict = NSMutableArray.init(array: array)
            //                self.tblView.reloadData()
            print(aryDict)
        } catch let parsingError {
            print("Error", parsingError)
        }
    }
    task.resume()
}
© www.soinside.com 2019 - 2024. All rights reserved.