1. 程式人生 > >echart option 實現動態拼接字串,把沒有雙引號key的字串轉成object物件

echart option 實現動態拼接字串,把沒有雙引號key的字串轉成object物件

//把字串解析成物件
function praseStr(jsonStr){
jsonStr = jsonStr.replace(/(?:\s*['"]*)?([a-zA-Z0-9]+)(?:['"]*\s*)?:/g, "\"$1\":");  
//替換單引號
jsonStr = jsonStr.replace(/'/g, '"'); 
console.log(jsonStr);
var json = eval('('+ jsonStr + ')');  
console.log(json);
return json;
}
function showStyle(){
//獲取各個表單輸入的json字串
var styleJson = "{"+$("#jsonTitle").val()+
$("#jsonTooltip").val()+
$("#jsonLegend").val()+
$("#jsonOther").val()+
$("#jsonXaxis").val()+
$("#jsonYaxis").val()+
$("#jsonSeries").val()+"}";
var title="餅圖報表";
var titleArr = new Array("標題1,標題2,標題3,標題4");
var dataArr = new Array("12","32","100","33");
//轉換成object物件
option = praseStr(styleJson);
option.title.text = title;
option.legend.data = titleArr;

option.series[0].data = dataArr;

//設定顯示層

var divChart = echarts.init($("#echart-show-div")[0]);

divChart.setOption(option);
$(window).resize(function() {
divChart.resize();//頁面尺寸發生改變,從新設定圖表尺寸
});

}