ASP 向js传递json对象 需要先字符串拼接成json形式的字符串 然后前台利用函数转化成json对象
比如需要这样效果的json对象
series: [
{
name:'邮件营销',
type:'line',
data:[120, 132, 101, 134, 90, 230, 210]
},
{
name:'联盟广告',
type:'line',
data:[220, 182, 191, 234, 290, 330, 310]
},
{
name:'视频广告',
type:'line',
data:[150, 232, 201, 154, 190, 330, 410]
},
{
name:'直接访问',
type:'line',
data:[320, 332, 301, 334, 390, 330, 320]
},
{
name:'搜索引擎',
type:'line',
data:[820, 932, 901, 934, 1290, 1330, 1320]
}
]
一、数据的存储方式有很多种 我在这里首先将上图name的字符串放在一个一维的字符串数组 data放在一个二维数组中 一维的个数与存放name的一维数组长度相同
public string[] NameStr; //名字字符串组
public string[,] ScoreArr;//data二维数组
二、 在数据库取好数据填入数组后开始进行字符串的拼接
public string StringToJson(string [] NameStr, string [,] ScoreArr)
{
var JsonString = new StringBuilder(); //定义一个字符串
if (NameStr.Length != 0)
{
JsonString.Append("["); //[]/{}这种的都是成对输入的
for (int i = 0; i < NameStr.Length; i++)
{
JsonString.Append("{");
JsonString.Append("\"name\":\"" + NameStr[i] + "\",\"type\":\"line\", \"data\":["); //这里的/是转义符
for (int j = 0;j < ScoreArr.GetLength(1);j++)
{
if (j == ScoreArr.GetLength(1) - 1)
{
JsonString.Append("\"");
JsonString.Append(ScoreArr[i, j].ToString());
JsonString.Append("\"");
}
else
{
JsonString.Append("\"");
JsonString.Append(ScoreArr[i, j].ToString());
JsonString.Append("\",");
}
}
JsonString.Append("]");
if (i == NameStr.Length - 1)
{
JsonString.Append("}");
}
else
{
JsonString.Append("},");
}
}
JsonString.Append("]");
}
return JsonString.ToString();
}
三、调用函数后我得到的结果
[{"name":"可用性","type":"line", "data":["83.32","79.12","72.12","72.12","79.12","72.12","72.12","79.12","72.12","72.12","83.32","83.32","83.32","83.32"]},{"name":"合规性","type":"line", "data":["95","0","0","95","0","0","95","0","0","95","95","95","95","95"]},{"name":"运维工作评价","type":"line", "data":["100","100","100","100","100","100","100","100","100","100","100","100","100","100"]},{"name":"日常维护设备健康维度模型","type":"line", "data":["94.58","69.78","68.03","91.78","69.78","68.03","91.78","69.78","68.03","91.78","94.58","94.58","94.58","94.58"]}]
四、上述只是得到json的字符串前台利用js转化成json对象 这里好像可以利用ajax 初学还不太会
<script src="js/json2.js"></script>
var tm = '<%=datass%>';
var json = JSON.parse(tm);
五、其中json2是需要下载后添加到工程中相应的包下
https://github.com/douglascrockford/JSON-js