在核心数据中保存动态生成的带有父->子关系的JSON数据?
Posted
技术标签:
【中文标题】在核心数据中保存动态生成的带有父->子关系的JSON数据?【英文标题】:Save dynamically generated JSON data with parent-->children relationship in core data? 【发布时间】:2016-03-24 11:39:04 【问题描述】:我的 JSON 响应中有动态子对象来填充首选项数据,每个首选项都可以有“孩子”并且可以有多个对象(以嵌套方式,详细说明)。我需要将此数据保存到核心数据中,然后从那里加载。当用户在途中选择一个时,我还需要保存用户选择。
在实体模型中实现实体关系以保存所有这些数据的最佳方法是什么?
对于这种场景,这是一种好的 JSON 格式吗?
EX: 手机 --> samsung --> s3(当用户点击时可以走得更远)
preferences = [
id = 1;
name = Mobiles;
children =
[
id = 3;
name = Samsung;
children = [];
,
id = 4;
name = Nokia;
children = [];
]
,
id = 2;
name = Electronics;
children = [
id = 5;
name = Samsung Curve TV;
children = [];
]
]
【问题讨论】:
【参考方案1】:ad 2. 使用这种数据格式,您将需要使用递归或堆栈来获取单个实体。
我建议采用稍微不同的方法。
[
"id": 1,
"name": "Mobiles"
,
"id": 2,
"name": "Electronics",
"parent_id": 1
,
"id": 3,
"name": "Samsung"
"parent_id": 1
,
"id": 4,
"name": "Nokia"
,
"id": 5,
"name": "Samsung Curve TV"
"parent_id": 2
]
有了这样的结构,您就不必使用递归或堆栈了。 单个枚举足以将数据插入 CoreData。
ad 1. 您的实体需要有“父”和“子”关系。
【讨论】:
以上是关于在核心数据中保存动态生成的带有父->子关系的JSON数据?的主要内容,如果未能解决你的问题,请参考以下文章