Core data 坚持使用restkit映射
有restkit问题的新手: 这是我对属于交易所和货币的交易的json响应:Core data 坚持使用restkit映射,core-data,restkit,Core Data,Restkit,有restkit问题的新手: 这是我对属于交易所和货币的交易的json响应: { "exchange": "symbol", "currency": "USD", "trades": [ { "maxPrice": "684.00", "minPrice": "683.10", "price": "683.28", "timestamp": "139045100
{
"exchange": "symbol",
"currency": "USD",
"trades": [
{
"maxPrice": "684.00",
"minPrice": "683.10",
"price": "683.28",
"timestamp": "1390451006",
"volume": "1.0"
}
]
}
我有一个属于此响应根中定义的交易所的交易数组,交易可以是1..n
我的exchange类有2个属性
{
"displayName": "name",
"symbol": "symbol"
}
我的货币类有两个属性
{
"symbol": "$",
"code": "USD"
}
正确的JSON响应和easyout
{
"trades": [
{
"maxPrice": "684.00",
"minPrice": "683.10",
"price": "683.28",
"timestamp": "1390451006",
"volume": "1.0",
"exchange": {
"displayName": "name",
"symbol": "symbol"
},
"currency": {
"symbol": "$",
"code": "USD"
}
}
]
}
由于所有这些交易都属于一个单一的交易所和一种货币,我在JSON响应的根中指定了它们,因此我不知道如何在restkit中映射这些关系
我的实体
Exchange
-displayName
-symbol
-trades(Exchange -->>Trade | 1:n)
Currency
-code
-symbol
-trades(Currency -->> |1:n)
Trade
-maxPrice
-minPrice
-price
-tradeDate
-volume
-currency(Trade >-->Currency |n:1)
-exchange(Trade >-->Exchange |n:1)
如果您有任何建议或想法,我们将不胜感激
感谢您的帮助。不清楚您为什么会显示不同形式的JSON。我假设它们是针对不同搜索类型请求的不同响应。从一个响应开始,首先获取该工作的映射,可能是最后一个JSON,它是一个简单的交易列表 您的JSON中没有一个包含唯一标识符——它确实应该包含唯一标识符。这使您能够灵活地在对象之间建立连接,并确保不会在数据存储中获得重复的对象 您的图表可能会歪曲这些关系,但它们应该是彼此相反的,所以是1:n&n:1,而不是1:1。这允许核心数据正确地维护关系
由于JSON都是嵌套的,所以映射相对简单。如果源键名和目标键名不匹配,您应该结合使用RKEntityMapping和addRelationshipMappingWithSourceKeyPath:mapping:或RKRelationshipMapping。那么您可以完全控制JSON?您的数据模型是什么?要映射到的类以及其中的关系是什么?要指定映射,您需要源JSON和目标模型……是的,我拥有完全控制权,使用mogenrator为核心数据模型生成底层代码。添加了实体定义。谢谢你的帮助。对不起,我弄错了。这是货币和外汇交易的n:1。