我想使用JSON2HTML来解析来自JSON的超文本标记语言数据,并将其呈现在UIWebView中(使用Swift 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 inside)内容添加到其中。最后,我将最终的index.html加载到UIWebView中(它的工作方式很不错)。
发布于 2017-02-03 19:18:38
你是在以JSON2HTML的身份谈论这个library吗?如果是这样的话,我不认为Swift中有用于将JSON元素转换为HTML的库。
您是否计划从后端下载JSON元素?然后,由于JSON2HTML有一个node.js包装器,我建议在同一台服务器上完成从JSON2HTML到HTML语言的转换。因此,您只需下载HTML编译后的数据,并将其呈现在UIWebView
中,就像下面这行代码一样简单(在Swift 3中):
// html is the HTML data downloaded from your back-end
webView.mainFrame.loadHTMLString(html, baseURL: nil)
https://stackoverflow.com/questions/42021893
复制相似问题