我从 GitHub 中的当前 master 配置了 Java 的 highchart 导出服务器。当我尝试使用演示页面导出图像时,返回了损坏的文件。我已调试代码并发现以下消息作为 ServerObjectFactory.java 中 validate 方法的结果返回
字符串结果 = server.request("{\"status\":\"isok\"}");
结果字符串的值为“渲染失败:语法错误:无法解析 JSON 字符串”
这个问题的原因可能是什么。
谢谢你
我从 GitHub 中的当前 master 配置了 Java 的 highchart 导出服务器。当我尝试使用演示页面导出图像时,返回了损坏的文件。我已调试代码并发现以下消息作为 ServerObjectFactory.java 中 validate 方法的结果返回
字符串结果 = server.request("{\"status\":\"isok\"}");
结果字符串的值为“渲染失败:语法错误:无法解析 JSON 字符串”
这个问题的原因可能是什么。
谢谢你
这很奇怪。JSON 字符串的语法在语法上是正确的。我可以指出错误是从哪里产生的。
在 highcharts-ecport-convert/src/main/resources/phantomjs 的 highcharts-convert.js 文件中,传入的请求应该是 JSON 字符串并被解析,见第 469 行
function (request, response) {
var jsonStr = request.post,
params,
msg;
try {
params = JSON.parse(jsonStr); // L469
if (params.status) {
// for server health validation
response.statusCode = 200;
response.write('OK');
response.close();
} else {
....
设置在一个console.log(jsonStr)
之前JSON.parse(jsonStr)
。我希望这能让你知道它为什么会抛出错误。