2013-03-18 79 views
-2

正在使用Web上的JSON休息服务。这JSON有一个名为“内容”的属性,至极是HTML内容,所以JSON文件是一样的东西:设置WebView内容

[{ 
"id":"4205", 
"title":"SomeTitle", 
"author":"Homero Simpson", 
"content":"<html><head></head><body>Había una vez un molinero cuya única herencia para sus tres hijos eran su molino, su <a href='biblioSonidos://soundID=67'>asno</a> y su <a href='biblioSonidos://soundID=69'>gato</a>. Pronto se hizo la repartición sin necesitar de un clérigo ni de un abogado, pues ya habían consumido todo el pobre patrimonio. Al mayor le tocó el molino, al segundo el asno, y al menor el gato que quedaba. El pobre joven amigo estaba bien inconforme por haber recibido tan poquito. 'Mis hermanos' dijo él, 'pueden hacer una bonita vida juntando sus bienes, pero por mi parte, después de haberme comido al gato, y hacer unas sandalias con su piel, entonces no me quedará más que morir de hambre.' El gato, que oyó todo eso, pero no lo tomaba así, le dijo en un tono firme y serio: 'No te preocupes tanto, mi buen amo. Si me das un bolso, y me tienes un par de botas para mí, con las que yo pueda atravesar lodos y zarzales, entonces verás que no eres tan pobre conmigo como te lo imaginas.'</body></html>" 
}] 

我需要建立在“内容”属性代码的WebView。 所以,我的问题是: 如何从此JSON属性设置WebView内容? 这可能吗?

+2

是的,这是可能的(通行证,如果你想在内容相链接的工作无论是适合基本URL,而不是零)。 [你到目前为止尝试过什么?](http://whathaveyoutried.com) – Sebastian 2013-03-18 02:12:49

回答

1

使用JSONSerialization将JSON文件转换为基础对象(这将是NSDictionary)。然后使用loadHTMLString加载值的内容密钥:

NSError *jsonError = nil; 
id json = [NSJSONSerialization JSONObjectWithData:[NSData dataWithContentsOfFile:pathToTheJSONFile] options:0 error:&jsonError]; 
if (json) { 
    [webView loadHTMLString:[(NSDictionary *)json objectForKey:@"content"] baseURL:nil]; 
} else { 
    NSLog(@"Error loading JSON: %@", jsonError); 
}