如何在Ios中的数组元素中获取JSON结构?

时间:2015-11-27 15:07:09

标签: ios objective-c json

您好,我是iOS的初学者,在我的项目中,我正在使用JSON服务。

请参阅下面的JSON结构。

我希望获得所有“languages”内部元素,但我不明白如何获取这些字段。

请帮帮我。

JSON STUCTURE: -

- loans: [
        
    - {
        id: 983381,
        name: "America",
        description: 
    {
        languages: 
    [
    name:   "English"
        ]
        },

    },

     - {
         id: 983382,
        name: "Jarmani",
        description: 
    {
        languages: 
    [
    name:   "Jarman"
        ]
        },

    },

 - {
         id: 983383,
        name: "Rasya",
        description: 
    {
        languages: 
    [
    name:   "Rasya"
        ]
        },

    },
]

我的代码: -

 NSMutableArray * array1 = [mainDictyionary objectForKey:@"loans"];

    for (NSDictionary * obj in array1) {

       LangArray = [obj objectForKey:@"languages"];
    }

  NSLog(@"so finally  array values are  %@", LangArray);

2 个答案:

答案 0 :(得分:2)

实际上,你获得的价值高达语言而不是“英语”或其他。而且您还要将值分配给NSMutableArray * array1 = [mainDictyionary objectForKey:@"loans"]; NSMutableArray *LangArray = [NSMutableArray alloc] init]; for (NSDictionary * obj in array1) { [LangArray addObject:[[obj objectForKey:@"languages"] objectForKey:@"name"]]; } NSLog(@"so finally array values are %@", LangArray); ,因此它不会添加它将添加循环的最后一个值的所有值。

{{1}}

答案 1 :(得分:-1)

您需要将语言添加到LangArray,这样才不会在每个循环中重新分配。

NSMutableArray * array1 = [mainDictyionary objectForKey:@"loans"];

for (NSDictionary * obj in array1) {
   NSArray *language = [obj objectForKey:@"languages"];
   LangArray.addObject(language);
}