我正在制作一个iPhone应用程序,在数据库上运行查询,并将结果显示给用户,理想情况下,我希望有选项通过电子邮件发送这些结果一旦显示
我正在使用json数组。从我在网上看到的内容来看,我认为我必须首先将其转换为CSV文件,然后将其附加在电子邮件中。然后,用户应该能够从他或她的电子邮件中下载文件并在excel中打开它。
我该如何完成这项任务?我是否需要为转换做一个API,或者我可以在xcode上做这件事?我在这方面仍然是新的,并将感谢有关过程的任何细节。
- 你可以在Xcode中将Json转换为Csv
如果你的json (NSDictionary)键在你的数组中是相同的,它很容易像下面这样做。
NSArray *keys = [self.dictionary allKeys]; // -- you need to sort the keys first because the index order is not identical every time in nsdictionary. NSArray *sortedKeys = [keys sortedArrayUsingSelector:@selector(compare:)]; NSMutableString *large_CSV_String = [[NSMutableString alloc] initWithFormat:@"%@",[sortedKeys objectAtIndex:0]; for(int i = 1; i<[sortedKeys count]; i++){ [large_CSV_String appendFormat:@",%@",[sortedKeys objectAtIndex:i]]; } [large_CSV_String appendFormat:@"n"];
假设下面的jsonArray由具有上述键的nsdictionary对象组成
// -- your array object NSArray *jsonArray for (NSDictionary *ajsonObject in jsonArray){ [large_CSV_String appendFormat:@"%@",[ajsonObject objectForKey:[sortedKeys objectAtIndex:0]]]; for(int i = 1; i<[sortedKeys count]; i++){ [large_CSV_String appendFormat:@",%@",[ajsonObject objectForKey:[sortedKeys objectAtIndex:i]]]; } [large_CSV_String appendFormat:@"n"]; }
//——最后你会得到一个CSV字符串
//——你可以NSLog这个值并查看
//——将此字符串保存为csv格式,并在电子邮件中附加。
//——我没有我上次写的确切的代码,我写这篇文章有一点内存。