我有一个JSON对象:如何NSDictionary中转换为自定义对象
@interface Order : NSObject
@property (nonatomic, retain) NSString *OrderId;
@property (nonatomic, retain) NSString *Title;
@property (nonatomic, retain) NSString *Weight;
- (NSMutableDictionary *)toNSDictionary;
...
- (NSMutableDictionary *)toNSDictionary
{
NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
[dictionary setValue:self.OrderId forKey:@"OrderId"];
[dictionary setValue:self.Title forKey:@"Title"];
[dictionary setValue:self.Weight forKey:@"Weight"];
return dictionary;
}
在字符串是这样的:
{
"Title" : "test",
"Weight" : "32",
"OrderId" : "55"
}
我得到的字符串JSON与代码:
NSMutableDictionary* str = [o toNSDictionary];
NSError *writeError = nil;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:str options:NSJSONWritingPrettyPrinted error:&writeError];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
现在我需要从JSON字符串创建和映射对象:
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError *e;
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:jsonData options:nil error:&e];
这会返回填充的NSDictionary。 我该怎么做才能从这本词典中获得对象?
如果你有多大的对象,必须由一个执行initWithDictionay一个......有一些更灵活的解决方案,例如:: HTTPS://github.com/Infusion-apps/IAModelBase – ingaham
另请参阅https://github.com/oarrabi/IAModelBase/issues这个问题,但我们可以管理它。雅这是好的。如有任何疑问,请与我联系。 –