2017-02-03 29 views
0

我想使用JSON2HTML从JSON解析HTML数据和(使用雨燕3.0)呈现在一个UIWebView的。请让我知道如何实现它。提前致谢!如何从JSON解析HTML数据,呈现在UIWebView中(使用雨燕3.0)

这是我已经试过:

let jsfile1 = try!String(contentsOfFile: Bundle.main.path(forResource: "json2html", ofType: "js")!) 

func loadJS() 
{ 
    var getData={} 
    var context = JSContext() 
    var valSwiftyJson:JSON = [:] 
    var test = context?.evaluateScript(jsfile1) 

    let testFunction = test?.objectForKeyedSubscript("json2html") 

    let urlString = //Have removed the URL string due to restrictions 
    Alamofire.request(urlString,encoding:JSONEncoding.default).responseJSON 
     { response in 
      if let alamoJson = response.result.value 
      { 
       let swiftyJson = JSON(data:response.data!) 
       valSwiftyJson = swiftyJson["FormInfo"]["Form"] 
       print(valSwiftyJson) 
      } 

    } 
    let result = testFunction?.call(withArguments: [getData,valSwiftyJson]) 
    webView.loadHTMLString((result?.toString())!, baseURL: nil) 
} 

最后,我设法通过创建一个index.html文件(本地存储)来解决这个问题,我提到里面的JSON2HTML库。每当我需要将JSON转换为HTML时,我都会将JSON(HTML内部)内容动态地添加到它。最后,我加载了UIWebView中的最终index.html(它像魅力一样工作)。

+0

你能告诉我们你的代码到目前为止,你已经尽力了,更好地共享它在jsfiddle或 – user3775217

+0

@ user3775217我已经添加了编码,因为您已经问 – user2842987

回答

0

你是说这个library为JSON2HTML?如果是这样,我不认为在Swift中有一个用于将JSON元素转换为HTML的库。

您是否打算从后端下载JSON元素?然后,因为有一个node.js包装到JSON2HTML,我建议在同一台服务器上从JSON转换到HTML。因此,你只需下载HTML汇编的数据,并在UIWebView渲染这将是那么容易,因为这行代码(在斯威夫特3):

// html is the HTML data downloaded from your back-end 
webView.mainFrame.loadHTMLString(html, baseURL: nil) 
+0

我得到一个JSON文件作为服务器响应,其中将有HTML表单嵌入JSON本身。我需要找到一种动态显示这些表单的方法(并且我打算使用UIWebView重用我的Xcode 8中的现有HTML标记 - swift 3项目)。我想使用JavaScriptCore来引用JSON2HTML js文件,或者我必须找到一些现有的Swift框架来完成这项任务! – user2842987

+0

是的。您添加的确切JSON2HTML库链接。 – user2842987