1. 问题描述
后端返回给 ajax 的数据是一个 JSON 格式的字符串,但是直接将数据放到 HTML 元素的时候,总会多一对引号
这样想对数据进行格式化的时候,就无法执行成功
2. 解决办法
对后端返回的值做一次字符串计算:
eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
如下:
var schema = eval('(' + data + ')');
$.ajax({
type: "POST",
url: "/generateSchema",
data: JSON.stringify(params),
contentType : 'application/json',
success: function(data) {
var schema = eval('(' + data + ')');
$('#json-schema').jsonViewer(schema, {collapsed: false, withQuotes: true});
},
error: function(data) {
alert(data);
}
});