将数据从json加载到webview中

时间:2012-12-05 08:32:18

标签: iphone database xcode json webview

在我的项目中,我有一个tableView,其中包含来自我的json数据库的大量数据。当我点击一个单元格时,我会进入另一个ViewController,在那里我将使用来自我的json数据库的数据打开一个webView。 一切正常,但我的webView没有打开我的数据库链接。

这是我的webView代码。

有人可以找到任何错误或者可以帮助我吗?

NSString* jsonString = @"http://heurigenapp.cache.gugler.at/json.php";
NSData* jsonData = [NSData dataWithContentsOfURL:options:error:jsonString];
NSDictionary* jsonDict = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:NULL];
NSString* link = [jsonDict objectForKey:@"Link"];
NSURLRequest* linkUrl = [NSURL URLWithString:link];
[webView loadRequest:linkUrl];

2 个答案:

答案 0 :(得分:1)

你在这里得到一个数组而不是NSDictionary,因为有多个对象在响应。

 NSArray* jsonArray = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:NULL];

因此您需要选择对象然后获取链接 e.g

NSDictionary *dict = [jsonArray lastObject]; // im getting the last object from array
NSString* link = [dict objectForKey:@"Link"];

答案 1 :(得分:0)

像这样使用

NSString* jsonString = @"http://heurigenapp.cache.gugler.at/json.php";
NSData* jsonData = [NSData dataWithContentsOfURL: [NSURL URLWithString:jsonString] ];
NSMutableArray* jsonArray = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:NULL];

NSDictionary *jsonDictionary = [jsonArray objectAtIndex:0];

NSString* link = [jsonDictionary objectForKey:@"Link"];
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:link]]];