- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
如何使用逆向映射在 restkit 0.20 中将 NSManagedObject 序列化为 JSON?
现在我不需要在任何地方发布任何东西。
我想手动创建对象 MyObjectManaged。设置一些属性例如:ID,名称,年龄
将它们与现有映射映射到 JSON 属性:用户身份,名,年龄
创建并打印 JSON。
这可能吗?什么时候是,如何? 预先感谢您的回答。
最佳答案
我最近一直在尝试做同样的事情 :) 我想保留映射,以便最终我可以连接到服务器,但也可以重新使用它们将对象序列化到文件中。
我使用 inverseMapping 并通过 RKMappingOperation 运行它来完成此操作。
首先从 JSON -> 核心数据对象设置你的映射
RKEntityMapping mapping = [RKEntityMapping mappingForEntityForName:@"MyManagedObject" inManagedObjectStore:rkManagedObjectStore];
[self.nodeMapping addAttributeMappingsFromDictionary:@{
@"userid": @"id",
@"first_name": @"name",
@"age": @"age"
}];
然后使用反向映射将您的对象实例(例如“myObject”)映射到字典:
NSMutableDictionary *jsonDict = [NSMutableDictionary dictionary];
RKObjectMappingOperationDataSource *dataSource = [RKObjectMappingOperationDataSource new];
RKMappingOperation *operation = [[RKMappingOperation alloc] initWithSourceObject:myObject
destinationObject:jsonDict
mapping:[mapping inverseMapping]];
operation.dataSource = dataSource;
NSError *error = nil;
[operation performMapping:&error];
假设没有错误,您可以序列化字典:
NSData *data = [RKMIMETypeSerialization dataFromObject:jsonDict
MIMEType:RKMIMETypeJSON
error:&error];
不确定你想从那里用它做什么,但如果你想把它打印成一个字符串,你可以这样做:
NSString *jsonString = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding]
希望对你有帮助
关于objective-c - 如何在 restkit 0.20 中将 NSManagedObject 序列化为 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14703373/
出于好奇,我尝试了一些原型(prototype)制作,但似乎只允许在第一个位置使用子例程的原型(prototype) &。 当我写作时 sub test (&$$) { do_somethin
我需要开发一个类似于 Android Play 商店应用程序或类似 this app 的应用程序.我阅读了很多教程,发现几乎每个教程都有与 this one 类似的例子。 . 我已经开始使用我的应用程
考虑一个表示“事件之间的时间”的列: (5, 40, 3, 6, 0, 9, 0, 4, 5, 18, 2, 4, 3, 2) 我想将这些分组到 30 个桶中,但桶会重置。期望的结果: (0, 1,
我是一名优秀的程序员,十分优秀!