我一直在阅读关于如何分析目标C JSON数据很多教程,但还是我无法弄清楚。我想解析JSON文件中的数据并在屏幕上显示它。
例如,
我想从here分析数据,并获得不同的变量不同的零售商的所有值,这样我可以在以后使用它们。
我该怎么办?
我一直在阅读关于如何分析目标C JSON数据很多教程,但还是我无法弄清楚。我想解析JSON文件中的数据并在屏幕上显示它。
例如,
我想从here分析数据,并获得不同的变量不同的零售商的所有值,这样我可以在以后使用它们。
我该怎么办?
假设你有一个NSData对象中的数据,你可以使用iOS 5及更高版本中可用的NSJSONSerialization类。
+ (id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError **)error
这是一个类的方法,将您的数据转换成取决于您的数据对象的内容类似的NSArray,NSDictionary的,NSNumber的对象等。
下面介绍如何下载和解析来自Web服务器的数据。请注意,所有这些方法都是同一类的一部分,并且存在类型NSMutableData*
和_downloadConnection
类型NSURLConnection*
的实例变量。还要注意这个代码假定ARC没有被使用。如果是这样,只需删除对象发布并保留,并确保实例变量是强引用。
-(void)startDownload {
NSURL* jsonURL = [NSURL URLWithString:@"http://isbn.net.in/9781449394707.json"];
NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:jsonURL cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:60];
_downloadData = [[NSMutableData dataWithCapacity:512] retain];
_downloadConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];
}
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
[_downloadData setLength:0];
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[_downloadData appendData:data];
}
- (void) connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
[_downloadConnection release];
_downloadConnection = nil;
[_downloadData release];
_downloadData = nil;
}
- (void) connectionDidFinishLoading:(NSURLConnection *)connection
{
NSError* jsonError = nil;
NSDictionary* jsonDict = nil; // your data will come out as a NSDictionry from the parser
jsonDict = [NSJSONSerialization JSONObjectWithData:_downloadData options:NSJSONReadingMutableLeaves error:&jsonError];
if (nil != jsonError) {
// do something about the error
return;
}
[_downloadConnection release];
_downloadConnection = nil;
[_downloadData release];
_downloadData = nil;
// now do whatever you want with your data in the 'jsonDict'
}
采取这个问题看看接受的答案: http://stackoverflow.com/questions/5813077/iphone-ios-json-parsing-tutorial – uldall
看到:HTTP://计算器。 com/questions/10241908/parsing-json-data-in-ios-objective-c-and-displayed-in-tableview-getting-empt – Farshid
寻找更多的例子,如果你无法理解它们,你对目标的理解-C可能不足。 JSON并不复杂! –