从JSON数组填充NSMutableArray

时间:2016-10-31 18:05:02

标签: objective-c json xcode

我有一个JSON POST请求,它从这里返回以下描述..

 NSDictionary *dicData = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];

这是NSLog ......

我正在尝试仅使用缩略图填充其他NSMutableArray。但是当我打印出所有按键时,我得到的唯一一个关键是' mediaList'

Aren'完整尺寸和缩略图其他按键?

2016-10-31 13:56:16.551008 MuzikLive MuzikLive[1444:794721] The dicData has this in it {
    mediaList =     (
                {
            fullsize = "/getMedia?file=/LivePic-19700101_014950899.jpg";
            thumbnail = "/getMedia?file=/thumbs/LivePic-19700101_014950899.jpg";
        },
                {
            fullsize = "/getMedia?file=/LivePic-19700101_014952658.jpg";
            thumbnail = "/getMedia?file=/thumbs/LivePic-19700101_014952658.jpg";
        },
                {
            fullsize = "/getMedia?file=/LivePic-19700101_014954431.jpg";
            thumbnail = "/getMedia?file=/thumbs/LivePic-19700101_014954431.jpg";
        },
 {
            fullsize = "/getMedia?file=/LiveVid-19700101_025111.mp4";
            thumbnail = "/getMedia?file=/thumbs/LiveVid-19700101_025111.jpg";
        }
    );
}

2 个答案:

答案 0 :(得分:2)

不是'完整尺寸和缩略图其他键 - 它们是嵌套的 顶级字典dicData包含密钥mediaList数据 相关数据是:

(
    {
        fullsize = "/getMedia?file=/LivePic-19700101_014950899.jpg";
        thumbnail = "/getMedia?file=/thumbs/LivePic-19700101_014950899.jpg";
    },
            {
        fullsize = "/getMedia?file=/LivePic-19700101_014952658.jpg";
        thumbnail = "/getMedia?file=/thumbs/LivePic-19700101_014952658.jpg";
    },
            {
        fullsize = "/getMedia?file=/LivePic-19700101_014954431.jpg";
        thumbnail = "/getMedia?file=/thumbs/LivePic-19700101_014954431.jpg";
    },
    {
        fullsize = "/getMedia?file=/LiveVid-19700101_025111.mp4";
        thumbnail = "/getMedia?file=/thumbs/LiveVid-19700101_025111.jpg";
    }
)

这是一个其他嵌套字典的数组,而这些字典又包含两个键fullsizethumbnail

因此你必须

  • mediaList
  • 中获取dicData的值
  • 将该数据视为数组
  • 获取每个数组条目
  • 将它们视为字典
  • 从中提取fullsizethumbnail

答案 1 :(得分:1)

根据这个JSON视图,您应该根据此解析字典..

在您的场景中,像这样解析您的JSON字典。

@property(strong,nonatomic) NSMutableArray *arrayOfThumbnail;

-(void)parseJSONDict:(NSDictionary *)dicData{

    //Alloc new memory to your mutable Array
    self.arrayOfThumbnail = [[NSMutableArray alloc]init]; 
    // Get the array from json who key is "mediaList"
    NSArray = [dicData objectForKey:@"mediaList"];

    for(int index=0;index < array.count ; index++){
        /*In Loop this Array has a dictionary at every index
        {} curly braces in JSON indicates a Dictionary*/

            NSDictionary *dict = [array objectAtIndex:index];

         // Now Fetch the Thumbnail String by providing the keyword to the dictionary at that index

            NSString *thumbnailString = [dict objectForKey:@"thumbnail"];

            [self.arrayOfThumbnail addObject:thumbnailString];
        }


    }