6
私たちはJsoupを使ってHTMLテンプレートを解析、操作、拡張しています。これまでのところすべてが、それはHTMLと組み合わせて使用する単一引用符に来るまでは正常に動作HTMLスニペットが有効なものとして指定されている内側のJSONデータと競合するJsoupはHTMLアトリビュートの出力を一重引用符から二重引用符に変更します
<span data-attr="JSON"></span>
に変換されていることを
<span data-attr='JSON'></span>
属性二重引用符でのみ
{"param" : "value"} //valid
{'param' : 'value'} //invalid
は、私たちはませ変更にそれらの単一引用符をJsoupを強制する必要があります引用符を二重にするにはどうすればよいでしょうか?現在のところ、HTMLコンテンツを解析して生成するコードです。あなたが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