2016-11-21 26 views
1

嘿傢伙我有json對象。我想講述很多json對象。我的意思是我希望將患者信息保存在json對象中。這是工作。但我無法在json對象中保存多個患者信息。我應該在數組中插入我的json對象嗎?如何保存數組中的多個json對象

let jsonData = try! JSONSerialization.data(withJSONObject: para, options: JSONSerialization.WritingOptions.init(rawValue: 0)) 

    jsonString = NSString(data: jsonData, encoding: String.Encoding.utf8.rawValue) as! String 

    print(jsonString) 

    do { 
     let SavedPatient = try JSONSerialization.jsonObject(with: jsonData, options: JSONSerialization.ReadingOptions.allowFragments) as! [String : AnyObject] 
     print("SavedPatient \(SavedPatient)") 
     if let arrJSON = SavedPatient["contacts"] { 
      for index in 0...arrJSON.count-1 { 
       let aObject = arrJSON[index] as! [String : AnyObject] 
       print("object in array \(aObject)") 
      } 
     } 
    } 
    catch { 
     print(error) 
    } 

    let utf8str = jsonString.data(using: String.Encoding.utf8) 
    if let base64Encoded = utf8str?.base64EncodedString(options: NSData.Base64EncodingOptions(rawValue: 0)) 
    { 
     let encodedData = NSData(base64Encoded: base64Encoded, options:NSData.Base64DecodingOptions(rawValue:0)) 
     //let data = encodedData 
     if encodedData != nil { 
      //write 
      encodedData?.write(toFile: "\(NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0])/offline", atomically: true) 

     } 
    } 
+0

你可以在服務器請求中顯示你的JSON嗎? –

+0

不是在這裏的評論添加回應在你的問題,也是這個完整的迴應,因爲這裏沒有什麼'聯繫人',你已經在你的問題中添加。 –

+0

如何將數組保存到電話簿? –

回答

0

是的,你可以將它們存儲在一個數組,但如果您的Patient類型定義的structclass,使用JSON數據設置其屬性,然後存儲在Patient對象這將是一個更加清晰數組。

例如,Patient結構:

struct Patient { 
    var lastName: String? 
    var firstName: String? 
    // etc. 
} 

並初始化一個數組來存儲患者:

var patients = [Patient]() 

然後,當讀取每個JSON對象,創建一個Patient

var lastName = aObject["lastName"] // or whatever your JSON field is named 
var firstName = aObject["firstName"] // or whatever your JSON field is named 
var patient = Patient(lastName: lastName, firstName: firstName /*, etc. */) 

並將其粘貼在陣列中:

patients.append(patient) 

請注意,我聲明結構的屬性爲Optional s。

+0

我該如何做到這一點與結構?請給我看一些使用我的代碼的例子? –

+0

如何將此患者數組保存到ios documentDirectory?請回復我 :) –