JSON编码和解码核心数据

Posted

技术标签:

【中文标题】JSON编码和解码核心数据【英文标题】:JSON Endoding and Decoding CoreData 【发布时间】:2020-09-18 00:43:11 【问题描述】:

我对 Swift 编程非常陌生,但在其他语言编程方面相当胜任。

我有一个将 NSPersistenContainer 用于 CoreData 的项目。我想使用 JSON 或 XML 导出和重新导入数据。

我可以手动生成一个 CSV 文件,但它的用处有限,所以我更喜欢 JSON;如果需要,可以使用 XML。

我发现的所有东西都过时了,需要扩展 NSManagedObject 并使用 Codable。如果我使用 NSPersistenContainer,我认为这将不适用。

现代 Swift 有什么内置的,或者我将如何去做?

【问题讨论】:

NSPersistenContainer 用于简化创建/设置过程(NSPersistentStoreCoordinator、NSManagedObjectContext),因此您阅读的有关 NSManagedObject 和 Codable 的内容不会过时。 相关:***.com/questions/44450114/… 【参考方案1】:

Codable 是 Swift 内置的东西,可以做你想做的事,扩展或继承 NSManagedObject 是你在 Core Data 中使用它的方式。使用NSPersistentContainer 与问题正交。您几乎肯定想要它,但它与 JSON 导入/导出无关。它可以为您设置 Core Data,但您仍然使用托管对象作为数据模型。 Core Data 没有内置对 JSON 的支持;它依赖于 Codable 的存在来提供。

【讨论】:

以上是关于JSON编码和解码核心数据的主要内容,如果未能解决你的问题,请参考以下文章

Python 标准库之 json 编码和解码器『详解』

golang-Json编码解码

使用 JSON 解码 Laravel 检索特定数据

高级编码和解码技术

2018-04-09(JSON.parse和JSON.stringify的编码解码)

JSON 编码/解码 JavaScript 中的 base64 编码/解码