繁体   English   中英

在iOS中解析嵌套对象和数组json

[英]Parse Nested objects and Array json in ios

我试图解析这样的json,其中使用许多数组和对象如何解析它。

[
    {
        "MusicData": [
            {
                "user_music_id": "199",
                "music_id": "2",
                "music_name": "Country"
            },
            {
                "user_music_id": "200",
                "music_id": "2",
                "music_name": "Country"
            }
        ]
    },
    {
        "SportData": [
            {
                "user_sport_id": "179",
                "sport_id": "4",
                "sport_name": "Hockey"
            }
        ]
    },
    {
        "HobbyData": []
    },
    {
        "RelationData": []
    },
    {
        "MovieData": [
            {
                "user_movie_id": "144",
                "movie_id": "6",
                "movie_name": "Drama"
            }
        ]
    },
    {
        "BookData": []
    },
    {
        "CarrerData": [
            {
                "user_carrer_id": "186",
                "carrer_id": "7",
                "carrer_name": "Marketing"
            },
            {
                "user_carrer_id": "187",
                "carrer_id": "8",
                "carrer_name": "Sales"
            }
        ]
    }
]

MyMusic是一个字典,它具有包含许多索引的数组。

如何一一解析其数据? 使用标签MyMusic,SportData等。

我正在尝试使用以下代码从此json解析CarrerData:

musicTemp._id = [NSString stringWithFormat:@"%@",[[[responseDict objectAtIndex:0] valueForKey:@"MusicData"] valueForKey:@"user_music_id"]];

看来您正在跳过一个数组,请尝试:

musicTemp._id = [NSString stringWithFormat:@"%@",[[[[responseDict objectAtIndex:0] valueForKey:@"MusicData"] objectAtIndex:0] valueForKey:@"user_music_id"]];`

{} ”代表字典
[] ”代表一个数组

因此,要遍历对象,您可以执行以下操作:

 NSArray* array=[[responseDict objectAtIndex:0] valueForKey:@"MusicData"]; 
   for (NSDictionary *dict in array) {
        NSString *userMusicID=[dict objectForKey:@"user_music_id"];
        NSString *musicID=[dict objectForKey:@"music_id"];
        //etc 
    }

您可以对其他元素执行相同的操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM