需要使用 wicket 和 javascript 以 JSON 格式打印数据
Needs to print data in JSON format using wicket and javascript
我在检票口中实现了以下代码。它在一行中打印整个 JSON 数据。实际上它应该以 JSON 格式打印。据我了解,问题出在 document.getElementById(''demo'').innerHTML={0}
。如果我做错了什么,请更正我的代码。
以及为什么 (''demo'')
在 Html id 的开头和结尾需要两个单引号。
target.appendJavaScript(MessageFormat
.format("document.getElementById(''demo'').innerHTML={0}'", mapper.writerWithDefaultPrettyPrinter()
.writeValueAsString(jsonDataProducer())));
我的问题得到了答案。
target.appendJavaScript(MessageFormat
.format("document.getElementById(''demo'').innerHTML=JSON.stringify({0},null,2);", jsonDataProducer));
首先,我尝试使用以下代码打印漂亮的 JSON。 mapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonDataProducer().toString())
但是,当我将它分配给 document.getElementById(''demo'').innerHTML
时,javascript 将其视为一个对象。
所以,我用了JSON.stringify({0},null,2)
。它将以美化的 JSON 格式对 javascript 对象进行字符串化。
而在MessageFormat
中,一对单引号被视为单引号。
从 here 我得到了 MessageFormat 单引号信息。我们还可以阅读 MessageFormat 文档。
我在检票口中实现了以下代码。它在一行中打印整个 JSON 数据。实际上它应该以 JSON 格式打印。据我了解,问题出在 document.getElementById(''demo'').innerHTML={0}
。如果我做错了什么,请更正我的代码。
以及为什么 (''demo'')
在 Html id 的开头和结尾需要两个单引号。
target.appendJavaScript(MessageFormat
.format("document.getElementById(''demo'').innerHTML={0}'", mapper.writerWithDefaultPrettyPrinter()
.writeValueAsString(jsonDataProducer())));
我的问题得到了答案。
target.appendJavaScript(MessageFormat
.format("document.getElementById(''demo'').innerHTML=JSON.stringify({0},null,2);", jsonDataProducer));
首先,我尝试使用以下代码打印漂亮的 JSON。 mapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonDataProducer().toString())
但是,当我将它分配给 document.getElementById(''demo'').innerHTML
时,javascript 将其视为一个对象。
所以,我用了JSON.stringify({0},null,2)
。它将以美化的 JSON 格式对 javascript 对象进行字符串化。
而在MessageFormat
中,一对单引号被视为单引号。
从 here 我得到了 MessageFormat 单引号信息。我们还可以阅读 MessageFormat 文档。