gpt4 book ai didi

objective-c - 如何在 restkit 0.20 中将 NSManagedObject 序列化为 JSON?

转载 作者:搜寻专家 更新时间:2023-10-30 19:54:06 26 4
gpt4 key购买 nike

如何使用逆向映射在 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com