下载和iOS
问题描述:
解析JSON套件我想在iOS的下载和iOS
从网络服务器解析此为实现代码如下{
"transactions": [
{
"ID": "350",
"description": "Macbook Pro 17 inch",
"price": "2811.83"
},
{
"ID": "351",
"description": "Macbook - white",
"price": "1720.10"
},
{
"ID": "352",
"description": "iPad 2",
"price": "650.00"
},
{
"ID": "353",
"description": "Macbook Pro 17 inch",
"price": "3233.98"
},
{
"ID": "354",
"description": "Macbook Pro 15 inch",
"price": "2100.55"
},
{
"ID": "355",
"description": "Macbook Air",
"price": "899.99"
},
{
"ID": "356",
"description": "Mac Pro",
"price": "3400.77"
}
]
}
我从这个希望是描述和价格的唯一的东西。我需要将每件商品的价格加起来才能得到总价。每个交易名称需要存储在NSArray
中,然后显示在UITableView
中。
任何帮助?该JSONkit犯规给我SBJSON解析器
答
我真的很喜欢JSONKit因为它的简单性和速度。你必须认识到,它返回的是顶层构造作为一个对象 - 所以你必须考虑它。它将是一个NSDictionary(所以你可以对它进行类型转换),它将有一个关键的“交易”。
此键将返回的NSDictionary的一个的NSArray对象,其每一个将具有键ID,描述和价格。
因此,像这样(其中itemListData
是URL中提取例如JSON数据):
JSONDecoder *decoder = [JSONDecoder decoderWithParseOptions:JKParseOptionStrict];
NSData *immutableItemList = [itemListData copy];
NSArray *returnedData = (NSArray *) [[decoder objectWithData:immutableItemList] objectForKey:@"transactions"];
所以,我们采取了原始JSON数据,实例化一个解码器,然后解码成一本字典 - 并检索字典中的1个对象(在这种情况下,作为一个数组,因为它就是这样)。对一个新手来说不错,呃?
(我要补充 - 我之所以做出的NSData的不可变的副本,是这个代码片段是在异步下载,引发了connectionDidFinishLoading
法)
答
嗨,哥们所以我在过去做的是去Facebook和下载他们的开发SDK。在那个SDK中是一个很棒的JSON解析工具。你可以在这里找到它http://developers.facebook.com/docs/reference/iossdk/ 然后,你只不过是添加到您的项目,并在你头做一个
#import "JSON.h"
,然后当你得到该字符串你说
NSDictionary *data = [my_data_string JSONValue];
NSArray *transactions = [data objectForKey:@"Transactions"];
,并应工作:)
你有没有真的试图什么吗?给我们一些代码,我们会发现问题。 –