我只是想让你了解一下,你将不得不挖掘北斗以获得更多数据。这就是您解析以下 JSON 的方式:
{
"feed": {
"author": {
"name": {
"label": "iTunes Store"
},
"uri": {
"label": "http://www.apple.com/itunes/"
}
},
"entry": [
{
"im:name": {
"label": "Sexy and I Know It"
},
"im:image": [
{
"label": "http://a5.mzstatic.com/us/r1000/037/Music/3c/0c/ba/mzi.levtcsmk.55x55-70.jpg",
"attributes": {
"height": "55"
}
},
{
"label": "http://a2.mzstatic.com/us/r1000/037/Music/3c/0c/ba/mzi.levtcsmk.60x60-50.jpg",
"attributes": {
"height": "60"
}
},
{
"label": "http://a3.mzstatic.com/us/r1000/037/Music/3c/0c/ba/mzi.levtcsmk.170x170-75.jpg",
"attributes": {
"height": "170"
}
}
],
假设上述数据存储在一个名为json的NSString中。
将json数据读入NSDictionary:
NSDictionary *data = [json JSONValue];
获取feed对象的NSDictionary表示
NSDictionary *feed = (NSDictionary *) [data objectForKey:@"feed"];
获取author对象的NSDictionary表示
NSDictionary *author = (NSDictionary *) [feed objectForKey:@"author"];
获取name对象的NSDictionary表示
NSDictionary *name = (NSDictionary *) [author objectForKey:@"name"];
获取label对象的NSString表示
NSString *label = (NSString *) [name objectForKey:@"label"];
...等等
现在让我们获取入口对象的集合
获取entry对象的NSArray表示
NSArray *entry = (NSArray *) [data objectForKey:@"entry"];
让我们从入口集合中获取一个 NSArray 的 Image 对象
NSArray *images = [[entry objectAtIndex[0]] objectForKey:@"im:image"];
希望能帮助你理解解析流程。