现在我接收到的JSON是这样的
{ "data" : [ 0.26, 0.03, 24.22, 16.15, 16.15 ], "status" : true, "text" : "" }
我需要用mantle将data里面的5个数组映射到model上的5个属性。比如这样:
@property(nonatomic,copy)NSNumber * firstNum; @property(nonatomic,copy)NSNumber * secondNum; @property(nonatomic,copy)NSNumber * thirdNum; @property(nonatomic,copy)NSNumber * fourthnum; @property(nonatomic,copy)NSNumber * fifthNum; @property(nonatomic,copy)NSString * text; @property(nonatomic)BOOL status;
然后我在网上查到了这样一个方法
+ (NSValueTransformer *)pointListJSONTransformer { return [MTLValueTransformer transformerWithBlock:^id(NSArray *array) { return [array firstObject]; }]; }
这样可以将某个数组的的单个元素拿出来作为属性
但是我现在有多个,那到底应该怎么做呢
你需要2个模型
.h 文件
.m文件中你除了实现协议外 再实现一个映射到数组的NSValueTransformer
首先感觉你这个json文件结构和你代码中的对象模型不匹配,要么是json文件结构错了,要么是代码的对象模型错了。json文件结构应该是和代码有清晰的对应关系的,像你给的这段代码中用array中的字段去匹配对象属性感觉不太妥当,建议修改文件结构,或者代码对象模型。