ios - Swift如何将json按需储存在字典当中?
PHP中文网
PHP中文网 2017-04-18 09:47:32
0
1
482

新手一枚,但是实在是找不到相关的例子来学习了,所以迫不得已提问。
现在的需求是吧类似这样的Json存储在一个字典中,主要是相同ID的需要存在一起。

 {
  "hy_id": 5,
  "company": [
              {
              "name": "JOVIOLD"
              },
              {
              "name": "DAYCORE"
              },
              {
              "name": "ENDIPINE"
              }
              ]
  }

我尝试使用[String:AnyObject]类型的字典,但是改如何判断是相同ID呢?ID和name都可以正常获取到了,但是不知道应该怎么存储的语句

  let path: String = NSBundle.mainBundle().pathForResource("jsonData", ofType: "json")!
        let nsurl = NSURL(fileURLWithPath: path)
        let data:NSData = NSData(contentsOfURL: nsurl)!
        let dict = JSON(data:data)
        //ToDo
        
        
        for i in 0...dict.count{
            let number = dict[i]["hy_id"].intValue
            let numberS = String(number)
            let name:String = dict[i]["name"].stringValue
            //ToDo
            print("\(number)\(name)")
        }

我的目的是将这个json包储存到一个字典里,每个hy_id对应一个key,每个name放在对应的value。我现在的代码有问题,可以请您重新写一下如何存储。

PHP中文网
PHP中文网

认证高级PHP讲师

répondre à tous(1)
小葫芦

À partir d'iOS5, JSON peut être traité à l'aide de la classe JSONSerialization du framework Foundation, spécialisé dans la conversion de JSON en dictionnaire ou de dictionnaire en JSON.

Je ne sais pas si vous utilisez SwiftyJSON. Si oui, let dict = JSON(data:data)Cette méthode de construction JSON utilise le système JSONSerialization :

public init(data:Data, options opt: JSONSerialization.ReadingOptions = .allowFragments, error: NSErrorPointer = nil) {
        do {
            let object: Any = try JSONSerialization.jsonObject(with: data, options: opt)
            self.init(object)
        } catch let aError as NSError {
            if error != nil {
                error?.pointee = aError
            }
            self.init(NSNull())
        }
    }

Si vous souhaitez le changer en dictionnaire, c'est très simple d'utiliser SwiftJSON, il suffit de récupérer directement la valeur :

let dictThatYouWant = dict.dictionaryObject
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal