我是Core数据的新手,并且想知道哪个是存储Json数据的最佳方式:
{"LG" :
{ "Nexus 5" :
{ "variant"s : [
{"model" : "Nexus 5 16gb"},
{"model" : "Nexus 5 32gb"}
]
},
},
{ "Nexus 4" :
{ "variant"s : [
{"model" : "Nexus 4 16gb"},
{"model" : "Nexus 4 32gb"}
]
},
},
}, ...... so on..
我在制作NSDictionary
后尝试将整个数据存储为Attribute Type "Transformable"
,但我遇到了一些错误,例如NSUnknownKeyException
。
我希望将数据存储为NSString
,并使用一些Relationships
。
有人可以告诉我存储相同内容的最佳方法是什么,而不是将整个数据保存为NSDictionary
?
答案 0 :(得分:1)
我的两分钱。
Brand
< - >> Model
< - >> Variant
其中Brand
将包含LG等,Model
将包含Nexus 4等,Variant
将包含Nexus 5 16GB等。
品牌与Model
有很多关系。 Model
与Variant
有很多关系。
请参阅我以前的答案,了解如何设置多对多关系:Setting up a parent-child relationship in Core Data。
无论如何你应该Apple Apple和google一点点。您可以找到很多材料(例如Core Data from Scratch: Relationships and More Fetching)。
答案 1 :(得分:1)
我建议阅读有关核心数据和一般关系数据库的内容,以避免获得可能绝对垃圾的设计。核心数据模型应该是一切的核心。这就是你需要设计的东西。
您在JSON中接收数据的方式非常次要。暂时忽略JSON。首先,您需要正确设计数据库。一旦你知道了,通过JSON提供给你的东西就很简单了。
我有一张桌子" Variant"目前只有一个带有名称字符串的变体,例如" Nexus 5 16gb"。然后我会有一张桌子"电话"与制造商有关,名称的字符串,以及" Variant"的一对多关系。然后我会有一个表"制造商",其中包含名称的字符串,以及" Phones"的一对多关系。
答案 2 :(得分:1)
最好的方法?不要将json存储为字符串!
在解析
时将json转换为有效的对象图