簡體   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