使用数字代码比较项目(JSON)

时间:2012-06-06 18:34:15

标签: objective-c xcode json dropbox

在我的应用中,用户可以创建群组。当用户创建一个组时,会在dropbox上上传一个新文件夹,里面有一个JSON文件,如下所示:

{"group":"0864798478"}

您看到的代码是以下列方式随机生成的:

NSString *randomKey = [NSString stringWithFormat:@"%0.10u", arc4random()];

然后我有一个显示所有文件夹(组)的表视图。但是我希望UITableView只显示带有iPad保存代码的组。

所以,如果我有:

{"group a":"0864797073"}
{"group b":"0764898478"}
{"group c":"2864758479"}

在iPad上有一个包含代码的文件:

0864797073 (group a)

表格视图仅显示该组,而不是全部。

我该怎么做?

提前感谢您的帮助!!

2 个答案:

答案 0 :(得分:0)

您可以使用JSONKit或SBJson来解析JSON文件并获取带有数据的NSDictionaries。然后你可以创建一个NSDictionary,你可以保存比较以前字典的结果,然后用方法tableView:cellForRowAtIndexPath在表中显示结果。或者,在方法tableView中进行比较:cellForRowAtIndexPath。祝你好运!

编辑:

如果文件为:

{"group a":"0864797073"} 

你解析它并获得一个字典,如“group a”将是KEY,NSString“0864797073”将是值。因此,要比较包含组a的词典,其中包含组b,您必须这样做:

if([[firstParsedJson objectForKey:@"group a"] isEqualToString:[secondParsedJson objectForKey:@"group b"]])
{
   //Do some stuff...
}

其中firstParsedJson和secondParsedJason是表示已解析的json的NSDictionaries,例如SBJson。

答案 1 :(得分:0)

正如Luis所提到的,SBJson是最容易使用Objective-C解析JSON的框架。您可以解析JSON并通过UITableView的CellForRowAtIndexPath委托方法来显示所有值。 如果您在使用JSON时遇到任何麻烦,那么link将帮助您更好地了解JSON的创建方式。