6
我們使用Jsoup來解析,操作和擴展html模板。到目前爲止一切正常,直到它來組合使用HTML單引號屬性Jsoup將輸出從單引號更改爲HTML屬性的雙引號
<span data-attr='JSON'></span>
即HTML片段轉換爲
<span data-attr="JSON"></span>
將與被指定爲有效的內部JSON數據衝突用雙引號只有
{"param" : "value"} //valid
{'param' : 'value'} //invalid
,所以我們需要強制Jsoup到不改變那些單引號加雙引號,但如何?目前,這是我們解析和生成html內容的代碼。
pageTemplate = Jsoup.parse(new File(mainTemplateFilePath), "UTF-8");
pageTemplate.outputSettings().escapeMode(Entities.EscapeMode.xhtml);
pageTemplate.outputSettings().charset("UTF-8");
... adding some html
pageTemplate.html(); // will output the double quoted attributes :(
這可能是Jsoup實現中的一個錯誤。您可以在http://jsoup.org/bugs – Vulcan
上報告(或者甚至更好,與開發者討論)我不確定我明白這裏的問題是什麼。你能提供一個最終輸出的例子,並且你想有一個輸出例子嗎?當你期望''?如果是這樣,爲什麼你不期望'? –
"是無效的json,那麼我該怎麼做,或者我錯了?是的,在處理之前的模板是'data-attr ='''並且在Jsoup的幫助下,我在單引號之間添加了Json。但是一旦渲染並保存了結果模板,我會得到'data-attr =「{」data「:」value「}」'但我期望'data-attr ='{「data」:「value」}'' – MatthiasLaug