2015-08-06 2 views
0

Я разбор что-то вроде этого с этим сайтом: http://www.prindlepost.org/?json=1JSON синтаксический нечетный узел

posts: [ 
{ 
.... 
categories: [], 
tags: [], 
.... 

Один из тегов внутри «поста» заключается в следующем:

author: { 
id: 43, 
slug: "connergordon_2016", 
name: "Conner Gordon", 
first_name: "Conner", 
last_name: "Gordon", 
nickname: "connergordon_2016", 
url: "", 
description: "Conner is a web and social media intern at the Prindle Institute. A Political Science major from Indiana, Conner's ethical interests lie in memory studies, conflict analysis and the ethics of representation. He also has interests in literature, art and photography." 
}, 

Это, как я разбор отдых успешно:

// convert to JSON 
NSError *myError = nil; 
NSDictionary *res = [NSJSONSerialization JSONObjectWithData:self.responseData options:NSJSONReadingMutableLeaves error:&myError]; 

// extract specific value... 
NSArray *results = [res objectForKey:@"posts"]; 

for (NSDictionary *result in results) 
{ 
    .... 
    // loop through the array of categories 
    NSArray *categories = [result objectForKey:@"categories"]; 

    for (NSDictionary *category in categories) 
    { 
     // ID 
     NSString *tempIDCategoryString = [category objectForKey:@"id"]; 
     NSInteger *UniqueCategoryID = [tempIDCategoryString intValue]; 

     // slug 
     NSString *Categoryslug = [category objectForKey:@"slug"]; 

     // title 
     NSString *Categorytitle = [category objectForKey:@"title"]; 

     // description 
     NSString *Categorydescription = [category objectForKey:@"description"]; 

     // parent 
     NSString *Categoryparent = [category objectForKey:@"parent"]; 

     // post_count 
     NSString *Categorypost_count = [category objectForKey:@"post_count"]; 
    } 
    // </categories> 
} 

Я не знаю, как разобрать этот авторский узел из массива объектов внутри 'после'. Это не массив, и он не похож на объект JSON для меня. Возможно, я ошибаюсь. Помогите?

+1

попробовать '[результаты [@ "автор"] valueForKey: @ "ID"] ; 'внешняя петля –

+0

Да! вот и все. большое спасибо! если вы ответите на этот вопрос, я буду отмечать его как правильно. – booky99

ответ

0

Его очень просто ... просто получить доступ к нему с valueForKey

NSArray *results = [res objectForKey:@"posts"]; 
[results[@"author"] valueForKey:@"id"]; 

И вы сделали

1

Автор - узел словаря. Вы можете попробовать это.

for (NSDictionary *result in results) 
{ 
    .... 
    //get the author dictionary 
    NSDictionary *postDict = [result objectForKey:@"author"]; 
    // loop through the array of categories 
    NSArray *categories = [result objectForKey:@"categories"]; 
    ... 
} 
Смежные вопросы