有人可以给我一些关于阅读JSON的建议吗?我有一个JSON的RSS源,但我不知道如何解密它所以我可以在代码中使用它。在过去,我会解析JSON,但我会从网络上找到一个API,说“关键字专辑是一个对象列表”。那么我就会解析JSON并将“专辑”推入NSArray。如果重要的话,我正在使用SBJSON for iOS。
我正在尝试从iTunes获取RSS数据,但我没有在任何地方看到API文档,也不确定如何正确解析数据。
这是链接: iTunes JSON
答案 0 :(得分:7)
我只是想让你了解一下,你必须挖掘北斗以获得更多数据。这是解析以下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"
}
}
],
假设上述数据存储在名为NSString
的{{1}}。
将json数据读入json
:
NSDictionary
获取NSDictionary *data = [json JSONValue];
对象的NSDictionary
表示
feed
获取NSDictionary *feed = (NSDictionary *) [data objectForKey:@"feed"];
对象的NSDictionary
表示
author
获取NSDictionary *author = (NSDictionary *) [feed objectForKey:@"author"];
对象的NSDictionary
表示
name
获取NSDictionary *name = (NSDictionary *) [author objectForKey:@"name"];
对象的NSString
表示
label
......等等
现在让我们获取入口对象的集合
获取NSString *label = (NSString *) [name objectForKey:@"label"];
对象的NSArray
表示
entry
让我们从条目集合中获取一个NSArray的Image对象
NSArray *entry = (NSArray *) [data objectForKey:@"entry"];
希望能帮助您理解解析流程。