下载和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解析器

+0

你有没有真的试图什么吗?给我们一些代码,我们会发现问题。 –

我真的很喜欢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"]; 

,并应工作:)