在我的iOS項目中我需要將整個JSON保存爲用戶數據,然後在下次應用程序啓動時重新加載它。 將它壓縮成許多值,然後重新創建JSON不是一個選項,我只需要一些可序列化的方式來保存整個原始JSON。 我試圖通過執行json.rawString()
將其轉換爲String
,並通過將獲得的string
傳遞給JSON(string)
來重新創建它,但它不起作用。如何使用SwiftyJSON保存並在NSUserDefaults中加載JSON?
我既通過使這樣簡單的事情的困難以及缺乏關於這樣的網上的事信息的驚訝,所以我不能等待去發現怎麼做:)
例子:
public func saveJSON(j: JSON) {
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setValue(j.rawString()!, forKey: "json")
// here I save my JSON as a string
}
public func loadJSON() -> JSON {
let defaults = NSUserDefaults.standardUserDefaults()
return JSON(defaults.valueForKey("json") as! String))
// here the returned value doesn't contain a valid JSON
}
您確定要保存到NSUserDefaults的?將您的JSON反序列化爲數組或字典,然後將其保存到文檔目錄中的plist並在應用程序啓動時加載它可能會更好。 – Abizern
問題是數據可能會改變,無論如何它是一個非常小的JSON,所以對我來說沒關係。 –
SaveJSON適合你嗎? –