简体   繁体   中英

I cant parse my json in swift 3

{
1: {
cityname_EN: "Munich",
cityname_DE: "München",
country: "DE",
image: "http://res.muenchen-p.de/fl_progressive,q_65/.imaging/stk/responsive/teaser300/dms/sw/bg/muenchen_in_bildern_neu/sehenswuerdigkeiten/top_20_sehenswuerdigkeiten/img/marienplatz/document/marienplatz.jpg",
text_EN: "Munich is a nice city blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla",
text_DE: "München in Bayern ist schön la blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla",
lat: 48.137269,
long: 11.574727
},
2: {
cityname_EN: "Berlin",
cityname_DE: "Berlin",
country: "DE",
image: "http://p5.focus.de/img/incoming/crop4074346/5772711184-w1200-h627-o-q75-p5/original-1-.jpg",
text_EN: "Berlin is a nice city blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla",
text_DE: "Berlin ist eine la blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla blabla",
lat: 48.137269,
long: 11.574727
}
}

This is my json data

Can anyone help me with the correct code for this in swift 3

Just use swiftyJSON pod. It can directly take that json and you can use life multidimensional array.

ie let jsonData = JSON( “your json here”)

Than you can directly access every key value pair by just jsonData[“key1”][“key2”]..... and so on.

` import UIKit

import Alamofire import SwiftyJSON

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

@IBOutlet var show: UILabel!

@IBOutlet var tableView: UITableView!



var arrRes = [[String: Any]]()

var d1 : [String:String] = [:]




override func viewDidLoad() {
    super.viewDidLoad()

    UserDefaults.standard.set(array, forKey: "name")


    Alamofire.request("https://www.best-cityguide.com/data/citylist.json").responseJSON { (responseData) -> Void in
        if((responseData.result.value) != nil) {
           // let swiftyJsonVar = JSON(responseData.result.value!)
            if((responseData.result.value) != nil) {
                let swiftyJsonVar = JSON(responseData.result.value!)

                if let resData = swiftyJsonVar["1"].dictionaryObject {
                    self.arrRes = resData as! [[String: Any]]

                    print(resData)
                }
                else {
                    print("none")
                }
                if self.arrRes.count > 0 {
                    self.tableView.reloadData()
                }
            }
        }
    }


}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int

{

    return arrRes.count

}


func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{

    let cell = UITableViewCell(style: UITableViewCellStyle.default, reuseIdentifier: "Cell")

    cell.textLabel?.text = dict["country"] as? String

    return cell
}


override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

}`

This i my code

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM