首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSON只有在逐字复制代码的情况下才能工作,生成的代码不能工作,为什么?

JSON只有在逐字复制代码的情况下才能工作,生成的代码不能工作,为什么?
EN

Stack Overflow用户
提问于 2020-01-10 21:35:52
回答 1查看 57关注 0票数 0

我有以下代码;

代码语言:javascript
复制
var fechas = "";
for (i = 0; i < response.data.length; i++) {
    var fechas = fechas + "{\"text\":" + "\"" + response.data[i].ADP_Asunto + "\"" + ", \"startDate\": new Date (" + response.data[i].ADP_FechaInicio.substring(0, 4) + "," + (response.data[i].ADP_FechaInicio.substring(5, 7) - 1) + "," + response.data[i].ADP_FechaInicio.substring(8, 10) + "), \"endDate\": new Date(" + response.data[i].ADP_FechaFin.substring(0, 4) + "," + (response.data[i].ADP_FechaFin.substring(5, 7) - 1) + "," + response.data[i].ADP_FechaFin.substring(8, 10) +",23,59)},";
}
fechas = fechas.substring(0, fechas.length - 1) + "";
var completo = "[" + fechas + "]";
console.log(completo);

 $("#scheduler").dxScheduler({
                                    dataSource: JSON.parse(completo);,
........................................................

和不工作,但如果我复制数据输出并分配给“console.log”,然后链接到数据源,它工作得很好;

代码语言:javascript
复制
 var fechas = "";
                            for (i = 0; i < response.data.length; i++) {
                                var fechas = fechas + "{\"text\":" + "\"" + response.data[i].ADP_Asunto + "\"" + ", \"startDate\": new Date (" + response.data[i].ADP_FechaInicio.substring(0, 4) + "," + (response.data[i].ADP_FechaInicio.substring(5, 7) - 1) + "," + response.data[i].ADP_FechaInicio.substring(8, 10) + "), \"endDate\": new Date(" + response.data[i].ADP_FechaFin.substring(0, 4) + "," + (response.data[i].ADP_FechaFin.substring(5, 7) - 1) + "," + response.data[i].ADP_FechaFin.substring(8, 10) +",23,59)},";
                            }
                            fechas = fechas.substring(0, fechas.length - 1) + "";
                            var completo = "[" + fechas + "]";
                            console.log(completo);
                           
                            var data = [{ "text": "ASUNTO NUEVO2", "startDate": new Date(2020, 0, 01), "endDate": new Date(2020, 0, 01, 23, 59) }, { "text": "ASUNTO NUEVO2", "startDate": new Date(2020, 0, 25), "endDate": new Date(2020, 0, 28, 23, 59) }, { "text": "Asunto nuevo Bo", "startDate": new Date(2020, 11, 31), "endDate": new Date(2020, 11, 31, 23, 59) }];  //   console.log(data);
                    
                            $("#scheduler").dxScheduler({
                                dataSource: data,

我尝试了jsons.parse/stringify,"“+ ... + "”...而且什么都不起作用

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-13 20:28:17

我终于明白了!使用下一段代码;

代码语言:javascript
复制
   var fechas = "";
for (i = 0; i < response.data.length; i++) {
    var fechas = fechas + "{'text':" + "'" + response.data[i].ADP_Asunto + "'" + ", 'startDate': '" + response.data[i].ADP_FechaInicio.substring(0, 4) + "-" + response.data[i].ADP_FechaInicio.substring(5, 7) + "-" + response.data[i].ADP_FechaInicio.substring(8, 10) + "', 'endDate':'" + response.data[i].ADP_FechaFin.substring(0, 4) + "-" + (response.data[i].ADP_FechaFin.substring(5, 7)) + "-" + response.data[i].ADP_FechaFin.substring(8, 10) + "'},";
}
fechas = fechas.substring(0, fechas.length - 1) + "";
var completo = "[" + fechas + "]";
var myObject = eval('(' + completo + ')');
console.log(myObject);

$("#scheduler").dxScheduler({
    dataSource: myObject,
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59682784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档