繁体   English   中英

将json字符串放入JavaScript变量json中

[英]Put json string into a javascript variable json

我在控制台镶边中有此:[{“ id”:40,“ endDate”:“ 2017-04-22”,“ dataA”:“ 2017-04-19”,“ nrC”:2,“ type”: “CO”, “dataD”: “2017年4月19日”, “的startDate”: “2017年4月20日”},{ “ID”:40 “结束日期”: “2017年4月26日”,“数据A “:” 2017年4月26" 日, “NRC”:4 “tyoe”: “CP”, “dataD”: “2017年4月23日”, “的startDate”: “2017年4月25日”},

此json字符串来自调用DAO类以从db获取信息的servlet。 因此,该字符串从请求会话(动态地)传递到一个jsp页面中……然后我将其放入var DAYS = '${jsonArrayString}'; 然后console.log(DAYS); 然后在上面打印该json字符串。 所以...它可以打印两个以上的数据。 它必须放入一个javascript变量中,这样:

var DAYS = '${jsonArrayString}'; //That's what's on my console..and it comes from session into this jsp page

我认为它必须通过foreach进行迭代,并以该格式打印。

var USER_DAYS   =   [  

                  {
                      id: value from jsonArrayString,
                      date: value from jsonArrayString,
                      title: value from jsonArrayString,
                      start: new Date(value from jsonArrayString),
                      end: new Date(value from jsonArrayString),
                      allDay: true,
                      className: 'done'
                  },            
                ];

我试图手动输入值,它的工作原理是这样的:

var USER_DAYS   =   [
      {
          id: 1,
          date: '2017-04-05',
          title: 'CO',
          start: new Date(2017, 3, 5),
          end: new Date(2017, 3, 7),
          allDay: true,
          className: 'done'
      },

我不知道从该json字符串(可以是任何...多于2条记录)中放入值,这就是为什么我需要遍历该json字符串的原因。 我希望将值仅以该格式放在该变量中(var USER_DAYS)

我试过这样的东西,但是不起作用:

<c:forEach items="${jsonArrayString}" var="jsonArrayString">
                    {
                        id: '${jsonArrayString.nrC}' ,
                        date: '${jsonArrayString.dataD}' ,
                        title: '${jsonArrayString.type}' ,
                        startDate: '${jsonArrayString.startDate}',
                        endDate: '${jsonArrayString.endDate}',
                        allDay: true,
                        className: 'done'
                    },
</c:forEach> 
                ];

或像这样:

var USER_DAYS   =   [  

                  {
                      id: DAYS.nrC,
                      date: DAYS.dataD,
                      title: DAYS.type,
                      start: new Date(DAYS.startDate),
                      end: new Date(DAYS.endDate),
                      allDay: true,
                      className: 'done'
                  },            
             ];

这个怎么做?

尝试将json字符串解析为json对象。

   var USER_DAYS = JSON.parse('${jsonArrayString}') 

JavaScript代码仅在客户端运行,而JSP在服务器上运行。 在服务器上呈现页面时,无法迭代JavaScript变量。

  • 如果要提供已经包含数据的页面,则应将数据作为模型属性传递给JSP页面。 为此,请看一下这篇文章
  • 如果要在数据加载到浏览器后填充页面,则必须使用JavaScript库,例如jQuery。 在这种情况下,您必须向服务器发送请求以获取JSON格式的数据,然后才能在客户端上进行操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM