如何将不同的JSON输入映射到RestKit中的同一对象?

时间:2013-02-21 18:58:57

标签: objective-c json model internationalization restkit

我正在建模而没有普通JSON对象的问题,但现在为了国际化,我想建模以下场景,其中属性可以是字符串或键/值对的字典:

"objects": [{"title": "non internatinalizaed title", ...},
    {"title": {"en": "english string", "es": "spanish string"}, ...},
    ....]

因为我不知道服务器是要发送单个字符串还是多个字符串,所以我想创建一个这样的模型对象:

@interface I18NString : Object
@property (copy) NSString *forced; // Set when there is no i18n
@property (copy) NSDictionary *strings; // Set with i18n.
- (NSString*)stringValue; // Returns forced or one of strings

与C struct union类似,取决于strings不是nil,我会在stringValue方法中选择一个属性或另一个属性。我已经阅读了restkit wiki中的Dynamic object mapping部分,但我没有看到如何使用它来解决这个问题。

1 个答案:

答案 0 :(得分:0)

你想要建模的是一对多关系,其中很多可能是500,1或0.所以,服务器只发送一个只有一个键/值的NSDictionary(甚至是0,但我猜你的许多关系是1..n而不是0..n)