【问题标题】:load data from json into webview将数据从 json 加载到 webview
【发布时间】:2012-12-05 08:32:18
【问题描述】:

在我的项目中,我有一个 tableView,其中包含我的 json 数据库中的大量数据。当我单击一个单元格时,我进入另一个 ViewController,我将在其中打开一个 webView,其中还包含来自我的 json 数据库的数据。 一切正常,但我的 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];

【问题讨论】:

  • 你的 JSON 是一个数组,它不是字典

标签: iphone database xcode json webview


【解决方案1】:

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

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

所以你需要选择对象然后获取链接 例如

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

【讨论】:

    【解决方案2】:

    这样使用

    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]]];
    

    【讨论】:

    • 进入(void)viewDidLoad?
    • 没有我的应用程序崩溃,如果你想查看我的日志,可以在这里查看:dropbox.com/sh/5dhm3fix6kf2mvx/Q0UzfvkD8N
    • 我看不到整个控制台日志
    • 好的,我已经在一个新项目中测试了代码,只使用了 webview。它运作良好:)!!但是在我使用 TableView 的项目中,它会崩溃:/
    猜你喜欢
    • 1970-01-01
    • 2016-12-26
    • 2012-07-13
    • 2012-06-10
    • 1970-01-01
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多