2017-03-31 20 views
0

で辞書の印刷と保存配列は、私は辞書の配列があります。私がやっていることはURLからJSONファイルをダウンロードされ、非常に簡単にiOSの私のプロジェクトで迅速な3

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

//  json parsing 2 
     let url:String = "https://jsonplaceholder.typicode.com/users" 
     let urlRequest = URL(string: url) 
     URLSession.shared.dataTask(with: urlRequest!, completionHandler: {(data, response, error) in 
      if(error != nil) 
      { 
       print(error.debugDescription) 
      }else{ 
       do { 
        self.list = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) 
         as! [[String: Any]] 
        OperationQueue.main.addOperation { 
         self.tableView.reloadData() 
        } 
       }catch let error as NSError{ 
        print(error) 
       } 
      } 
     }).resume() 

今、のリスト(辞書の配列です)の中に私は興味のあるすべてのデータを持っています。しかし、私が単一の値を選びたい場合、またはの全内容を印刷する場合は、リストどうすればいいですか?

EDIT:また、私はに構造を簡素化することができますし、辞書の配列 が、シンプルなものを使用していませんか?

+0

詳しい情報が必要とされています。解析したいJSONを書き留めておき、その例を使って何をしたいのか分からない場合は、そのソリューションを参照してください。 –

+1

セルは簡単ですがself.listと同じです[indexPath.row] ["yourKey"] – Retterdesdialogs

+0

SwiftyJSONを見てください。 https://github.com/SwiftyJSON/SwiftyJSONこのタイプの作業を簡素化します。 – dmorrow

答えて

1

それとも、アーカイブ

import Foundation 

class UserDataManager { 

var documentsURL: NSURL? 
var fileURL:NSURL? 

func setFileURL(file: String) { 
    documentsURL = FileManager.default.urls(for: .documentDirectory, 
                in: .userDomainMask)[0] as NSURL? 
    fileURL = documentsURL!.appendingPathComponent(file) as NSURL? 

} 

func write(file: String, mDict: NSDictionary) { 
    setFileURL(file: file) 
    let data : NSData = NSKeyedArchiver.archivedData(withRootObject: mDict) as NSData 
    if let fileAssigend = fileURL { 
     data.write(to: fileAssigend as URL, atomically: true) 
    } 
} 

func read(file: String) -> NSDictionary { 
    setFileURL(file: file) 

    var data:NSData? 
    if let url = fileURL { 
     data = NSData(contentsOf: url as URL) 
     if let result = data { 
      return NSKeyedUnarchiver.unarchiveObject(with: result as Data) as! NSDictionary 
     } 
    } 

    let dict = NSDictionary() 

    return dict 
} 
} 

使用し、

書き込みでそれを使用することができます。

 let userDataManager = UserDataManager() 
     userDataManager.write(file: "userDataDict", mDict: responseObject) 

読む:

 let userDataManager = UserDataManager() 
     let userDataDict = userDataManager.read(file: "userDataDict") 
関連する問題