从Core Data创建json文件

时间:2016-11-29 16:13:17

标签: json swift core-data swift3

我试图将核心数据中的y数据保存到json文件中。

任何人都可以提供有关最佳方法的提示吗?也许是一个教程。

感谢。

编辑:我想将我的数据存储在app目录中的json文件中。因此,后者我可以将其导出到iCloud中。我找不到很多关于创建一个json文件...奇怪的是,为了读取一个json文件,我发现了很多....

2 个答案:

答案 0 :(得分:1)

如果将文件存储在CoreData中,将文件存储在JSON中似乎会很麻烦,特别是因为如果您使用的是Cloudkit,则不会以JSON格式上传文件。我认为你可以通过首先为你的对象创建一个字典来完成你想要的东西:

let messageDic = ["message": "Hello Motto"]

然后在JSON中序列化字典:

 do {
        let messageData = try JSONSerialization.data(withJSONObject: messageDic, options: .prettyPrinted)

    } catch {
            print("error with serialization")
    }

答案 1 :(得分:0)

我在我的项目中使用它。此函数返回json字符串格式的数据,可以轻松保存到coredata中。上面的方法也是正确的,但是这个方法产生了json格式的字符串文件,可以很容易地保存到coredata中。希望它对你有用。

 func convertAnyobjectToJSON(anyObject: AnyObject) -> JSON{
        let jsonData = try! JSONSerialization.data(withJSONObject: anyObject, options: JSONSerialization.WritingOptions.prettyPrinted)
        let jsonString = NSString(data: jsonData, encoding: String.Encoding.utf8.rawValue)! as String
        if let dataFromString = jsonString.data(using: String.Encoding.utf8, allowLossyConversion: false) {
            let json = JSON(data: dataFromString)
            return json
        }
        return nil
    }