2013-10-02 3 views
7

Возможно ли разобрать json на массив объектов JSONModel с использованием JSONModel? Подобно описанию json ниже:JSONModel: json to array?

[{"id" : 1}, {"id" : 2}] 

до двух объектов JSONModel, имеющих свойство «id».

+0

см. Http://stackoverflow.com/questions/7589794/objective-c-json-convert-json-object-to-native-object и https://github.com/elado/jastor – zt9788

+0

Я использую JSONModel весь мой проект – keywind

+0

@keywind Пожалуйста, примите ответ на этот вопрос. –

ответ

14

Вы должны использовать arrayOfModelsFromDictionaries: на вашей модели класса как так:

NSArray* models = [YourModelClass arrayOfModelsFromDictionaries: objects]; 

Это будет идти через «объекты» и преобразовать каждый словарь в модели, и вы получите результат в модели. Если какой-либо элемент в объектах не сможет преобразовать в модель «модели», будет равен нулю.

Вот документацию класса для этого метода: http://jsonmodel.com/docs/Classes/JSONModel.html#//api/name/arrayOfModelsFromDictionaries:

+0

Этот метод будет работать, если я использую объект JSON, который корректно возвращает информацию, относящуюся к определенному местоположению? Я знаю, что многие из учебников возвращают массив, чтобы сказать XX количество результатов. Мой объект JSON - это данные приливов, основанные на одном месте с частями, которые я хочу извлечь. – Coughlin

1

Почему не пытается BWJSONMatcher?

Сначала вы должны объявить свою собственную модель данных:

@interface MyDataModel : NSObject 
@property (nonatomic, assign) NSInteger id; 
@end 

Тогда вы можете легко получить массив с BWJSONMatcher в пределах одной строки:

NSArray *jsonArray = [BWJSONMatcher matchJSON:jsonString withClass:[MyDataModel class]]; 

Надеется, что это может помочь вам.