2013-03-18 4 views
-2

Являясь частью службы обслуживания 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 с кодом в свойстве «содержание». Итак, мой вопрос: Как установить содержимое WebView из этого свойства JSON? Возможно ли это?

+2

Да, это возможно (Pass независимо Уместно для BaseUrl вместо ноль, если вы хотите относительные ссылки в содержании, чтобы работать.). [Что вы пробовали до сих пор?] (Http://whathaveyoutried.com) – Sebastian

ответ

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); 
}