嗨,我从 asp 获取字符串值,并将字符串值传递给 json。现在我想转换为数组。这是我的代码
var dataset = [{
"measure": "Sheet",
"interval_s": 365 * 24 * 60 * 60,
"data": $(function () {
$("<%=lbl.ClientID%>").load(function () {
var string = $( document.getElementById("<%=lbl.ClientID%>")).innerHTML();
var splitstr = string.split(',');
var result = "";
for (i = 0; i < splitstr.length; i++) {
result += (splitstr[i]);
}
})
})
}];
字符串输入是
** ['2018-09-17 09:45:47',1,'2018-09-17 10:19:24'],['2018-09-17 15:53:30',1 ,'2018-09-17 17:35:55'],['2018-09-17 18:54:15',0,'2018-09-17 18:55:19']**
我需要的输出是数组格式
['2018-09-17 09:45:47',1,'2018-09-17 10:19:24'],
['2018-09-17 > 15:53:30',1,'2018-09-17 17:35:55'],
['2018-09-17 18:54:15',0,'2018-09-17 18:55:19']
最佳答案
嗯,这很大程度上取决于您的输入字符串的外观。假设它的格式始终为 ['2018-09-17 09:45:47',1,'2018-09-17 10:19:24'],['2018-09-17 15:53 :30',1,'2018-09-17 17:35:55'],['2018-09-17 18:54:15',0,'2018-09-17 18:55:19']
,您分割的字符串确实捕获了所有逗号 - 即使在方括号内 [..,..],..
.
您可以将分割的字符串更改为 "],["
并删除第一个数组元素的第一个字符和最后一个数组元素的最后一个字符。
var string = $( document.getElementById("<%=lbl.ClientID%>")).innerHTML();
var array = string.split('],[').map(function(str, index, array) {
if(index === 0) {
return str.substring(1);
} else if (index === array.length -1) {
return str.substring(0, str.length -1);
} else {
return str;
}
});
关于javascript - 在asp中将字符串转换为json数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52400300/