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

时间:2017-04-27 12:18:40

标签: javascript java json jsp

我在我的控制台chrome中有这个: [{" ID" 40"结束日期":" 2017年4月22日""数据A":" 2017- 04-19"" NRC":2"类型":" CO"" dataD":" 2017年-04-19""的startDate":"二零一七年四月二十零日"},{" ID" 40"结束日期&#34 ;:" 2017年4月26日""数据A":" 2017年4月26日"" NRC&#34:4,&# 34; tyoe":" CP"" dataD":" 2017年4月23日""的startDate":&#34 ; 2017年4月25日"},

这个json字符串来自调用DAO类的servlet来从db获取信息。 所以,这个字符串是(动态地)从请求会话传递到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'
                  },            
             ];

怎么做?

2 个答案:

答案 0 :(得分:0)

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

实施例

https://d225******.cloudfront.net/song.m4a?Expires=1493381986&Signature=***&Key-Pair-Id=***

答案 1 :(得分:0)

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

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