将动态生成的 JSON 数据与核心数据中的父子关系保存起来?

Save dynamically generated JSON data with parent-->children relationship in core data?

我的 JSON 响应中有动态子对象来填充首选项数据,每个首选项可以有 "children" 并且可以有多个对象(以嵌套方式,详述)。我需要将这些数据保存到核心数据中,然后从那里加载。当用户在途中选择一个时,我还需要保存用户选择。

  1. 在实体模型中实现实体关系以保存所有这些数据的最佳方式是什么?

  2. 这种JSON格式适合这种场景吗?

EX: Mobiles --> 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 = [];
                }
            ]
  }
    ]

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。

广告 1。您的实体需要具有 "parent" 和 "children" 关系。