iOS swift将JSON分离成数组

Posted

技术标签:

【中文标题】iOS swift将JSON分离成数组【英文标题】:iOS swift separate JSON into array 【发布时间】:2016-10-27 13:50:53 【问题描述】:

我有一个像这样的JSON 文件:


"timeline": 
"Milan": 
  "placeA": [
    
      "name": "Place 1",
      "kind": "historic",
    ,
    
      "name": "Place 2",
      "kind": "historic",
    ,
    
      "name": "Place 3",
      "kind": "historic",
    
  ]
,
"Paris": 
  "placeB": [
    
      "name": "Place 1",
      "kind": "historic",
    ,
    
      "name": "Place 2",
      "kind": "historic",
    
  ]



在我的应用程序中,我需要将此 JSON 分隔并插入到这样的数组中,以便使用 tableView 部分分隔数据:

var arr = [[placeA],[placeB],...]

我该怎么做?

PS 我用的是 SwiftyJson

【问题讨论】:

用你的方法兄弟更新你的问题 【参考方案1】:
 struct City 

let name : String
let kind : String



var cities = [City]()

  let path = (try? Data(contentsOf: URL(string: "http://www.yourwebsite.json")!)) as Data!
    // let jsonData = NSData(contentsOfFile: path) as NSData!
    var error : NSError?
    let ReadableJSON2 = JSON ( data:path!, options: JSONSerialization.ReadingOptions.mutableContainers, error: nil )
    print(error)

    do 
        let jsonObject = try JSONSerialization.jsonObject(with: path!, options: JSONSerialization.ReadingOptions.mutableContainers) as! [String:AnyObject]
        for city in jsonObject["cities"] as! [[String:AnyObject]] 
            //let coordinates = position["Position"] as! [String:CLLocationDegrees]
            let Cityname = city["name"] as! String

            let Citykind = city["kind"] as! String

            let city = City(name: cityName,description: description, )

            cities.append(city)

        

     catch let error as NSError 
        print(error)
    

【讨论】:

现在 Swift 已经停止使用像这样的 NSError 来处理 JSON 已经有一段时间了……见***.com/a/31073812/2227743 @MohammadReza 然后请阅读 SwiftyJSON 文档,一切都解释清楚了。 SO上也已经有很多类似的问题和答案了。

以上是关于iOS swift将JSON分离成数组的主要内容,如果未能解决你的问题,请参考以下文章

将数据源分离到 Swift 中的另一个类

如何将 JSON 数据与从 websocket 接收的 ArrayBuffer 分离

旋转期间 searchController.active 之后,Swift searchBar 与 tableView 的顶部分离

前后端分离,转json格式问题

Swift TableViewDataSource 分离其他类

前后端分离,最佳实践