核心数据—将NSManagedObject数组转换为json数组

我在coredata上工作,我想将ManagedObject数组转换为json数组。 作为核心数据的新手,我确实进行了大量搜索,但未能找到满意的答案。 在工作并了解了结构之后,这里是相同的示例代码

  func convertToJSONArray(moArray:[NSManagedObject])->任意{ 
var jsonArray:[[String:Any]] = []
用于moArray {
var dict:[String:Any] = [:]
用于item.entity.attributesByName {
//检查是否存在值,然后将键添加到字典中,以避免nil值崩溃
如果让值= item.value(forKey:attribute.key){
dict [attribute.key] =值
}
}
jsonArray.append(dict)
}
返回jsonArray
}

此代码忽略了那些可选的键和值,这些键和值在核心数据存储中没有值(或nil值)。

由于此处的参数类型是NSManagedObject(这是所有实体的超类),因此您可以将任何ManagedObject的数组传递给此函数。 例如,Person,Employee等,或核心数据实体中的任何ManagedObjects。


编码愉快🙂!!!!!!