Как использовать NSArray, а не пару ключ-значение с Mantle
Если у меня есть массив JSON, как это,
{
"list": [
"javascript",
"stockFields",
"stockLists"
]
}
и две модели, такие как:
@interface stockList : MTLModel <MTLJSONSerializing>
@property(nonatomic, copy, readonly) NSArray *stockListItems;
@end
@interface stockListItem : MTLModel
@property(nonatomic, copy, readonly) NSString *javascript;
@property(nonatomic, copy, readonly) NSString *stockFields;
@property(nonatomic, copy, readonly) NSString *stockLists;
@end
stockList.m
+ (NSDictionary*)JSONKeyPathsByPropertyKey {
return @{
@"stockListItems":@"list",
};
}
+ (NSValueTransformer *)stockLstItemsJSONTransformer {
}
Как проанализировать свойства атрибута stockListItem для хранения массива списка JSON? Большое спасибо!
2 ответа
Вы просто устанавливаете их по индексу, если уверены, что индексы:
javascript = stockListItems[0];
stockFields = stockListItems[1];
stockLists = stockListItems[2];
В противном случае вы могли бы иметь другой Dictionary
в list
чтобы получить точные данные, которые вы хотите, как:
{
"list": [
item1: "javascript",
item2: "stockFields",
item3: "stockLists"
]
}
и сейчас:
javascript = [list objectForKey:@"item1"];
stockFields = [list objectForKey:@"item2"];
stockLists = [list objectForKey:@"item3"];
Надеюсь, это может помочь.
Вы можете разобрать JSON с NSJSONSerialization
метод класса JSONObjectWithData
,
Это вернет NSDictionary
и тогда вы можете получить доступ к полю "список", например, так:
NSMutableDictionary *parsedJSON = [NSJSONSerialization JSONObjectWithData: jsonData options: NSJSONReadingMutableContainers error: nil];
stockListObj.stockListItems = parsedJSON[@"list"];