У меня есть 2 вопроса: Мне нужно получить «Элементы» & «Categori» от JSON ниже, в моем основном хранилище данных/базе данных, я пробовал следующее (код ниже), но я застрял и смущен, если я делаю это правильно?Вложенные данные JSON для Core Data и ObjectForKey
А также я получаю сообщение об ошибке, когда пытаюсь получить массив элементов с вложенным объектомForKey, почему и как его исправить?
Ошибка, которую я не понимаю, поскольку Elements - это массив?
reason: '-[__NSCFArray objectForKey:]: unrecognized selector sent to instance 0x1cd2f4a0'
Я получаю JSON с AFNetworking так:
[[MyAPIClient sharedClient] getPath:domain parameters:nil success:^(AFHTTPRequestOperation *operation, id JSON) {
//IS THIS THE RIGHT WAY TO PROCESS NESTED JSON DATA IN CORE DATA?
NSError *error;
NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:JSON options:0 error:&error];
NSArray *arrayOfCategoriDictionaries = (NSArray *)[[jsonDict objectForKey:@"Manifacture"] objectForKey:@"Categori"];
//Categori array to Core data
for(NSDictionary *d in arrayOfCategoriDictionaries) {
Categori *cat = [NSEntityDescription insertNewObjectForEntityForName:@"Categori" inManagedObjectContext:_managedObjectContext];
}
//Elements to core data, get an error with objectForKey:@"Elements" ?
NSArray *arrayOfElementsDictionaries = [[[jsonDict objectForKey:@"Manifacture"] objectForKey:@"Categori"] objectForKey:@"Elements"];
for(NSDictionary *d1 in arrayOfRetDictionaries) {
Elements *elements = [NSEntityDescription insertNewObjectForEntityForName:@"Elements" inManagedObjectContext:_managedObjectContext];
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
if (![_managedObjectContext save:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
}
}];
вложенной данные JSon:
{
"Manifacture": {
"Categori": [
{
"Elements": [
{
"Id": 1,
"Name": "Door",
"Description": "Black door with window",
"Price": 149,
"CategoriId": 1
}
],
"Id": 1,
"Name": "Forret",
"ElementsId": 1,
"Manifacture_Id": 1
}
],
"CarSet": [],
"Id": 1,
"Name": "Hummer",
"Description": "A big car"
},
"Id": 2,
"Name": "Hummer Car Factory",
"Contactperson": "Adil Bujas",
"Location": "California",
"Info": "Hummer LTD",
"SearchThumbnail": "none",
"CarPicture": "none",
"Doors": 5,
"webpages_MembershipUserId": 4,
"Manifacture_Id": 1
}
Спасибо за помощь заранее.
Пожалуйста, объясните, пожалуйста, проголосовать? – 7c9d6b001a87e497d6b96fbd4c6fdf
Сколько раз этот вопрос будет задан снова и снова? Почему люди просто чертовски смотрят на структуру своего проклятого JSON и/или google сообщение об ошибке? – 2013-02-09 07:37:55
У меня есть, но так как я новичок, у меня нет общего понимания языка и того, как оно относится к моему JSON, я просто хотел спросить кого-нибудь, у кого есть это знание. И поскольку это было задано много раз раньше, это, по-видимому, действительно актуально. Просто игнорируйте вопрос, если вам это не нравится или делитесь своими знаниями, вместо того, чтобы писать такой комментарий. – 7c9d6b001a87e497d6b96fbd4c6fdf