2014-01-29 42 views
-2

我JSON對象如下:如何格式化JSON對象?

var data = [{ 
    Id: '1285465', 
    City: 'Singapore', 
    Date: '2014-01-29 17:30:00.0' 
    }, { 
    Id: '1284429', 
    City: 'Kuala Lumpur', 
    Date: '2014-01-29 19:00:00.0' 
    }] 

我已經寄給了看法,但在發送之前我想改變只在格式2014年1月29日的日期。我該怎麼做 ?

data.forEach(function(item){ 
      moment(item.Date).format("YYYY-MM-DD"); //switched to moment 

      }); 

我用快遞的node.js

+1

如果日期是字符串,你可以簡單地通過陣列中的所有對象進行迭代,並通過空間分割來獲得第一部分(日期)。這非常簡單。在嘗試從這裏獲得解決方案之前先試試。 – Munim

+0

試過了,但沒有工作,所以我張貼在這裏。 (item){ item.dateTime = format(item.dateTime); }); – jyoti

+0

描述「沒有工作」。 – Deestan

回答

0

您可以使用該Moment.jshttp://momentjs.com/(這可能看起來太多在第一,但這個庫可以幫助你在很多場合)

在你的榜樣,格式化你的日期爲正確的格式,你可以使用:

moment(item.Date).format("YYYY-MM-DD"); 

並安裝Moment.js只需使用:npm install --save moment

但是,我認爲在最後一刻(Ohohoh)將日期調整爲顯示格式可能是一種很好的做法。我的意思是,在你的模板中。 你選擇了什麼樣的模板系統?

編輯:

至於你的迭代問題,forEach方法不進行任何更改你的對象。您最好不得不使用map並返回隨時刻修改的對象。

if (trips) { 

    trips = trips.map(function(item){ 
     item.dateTime = moment(item.dateTime).format("YYYY-MM-DD") 
     return item; 
    }); 

    } 

    res.json(trips); 
+0

我正在使用玉器。 抱歉,傢伙,它不工作。它似乎停在那裏。 – jyoti

+0

我加入Deestan這個,你叫什麼「不工作」?我們能幫你。 –

+0

我編輯了這個問題,json沒有迭代。 – jyoti

0

問題已解決。

data.map(function(item){ 
       item.Date = moment(item.Date).format("YYYY-MM-DD"); 
       return date; 

       }); 

這是上面已經提到的正確方法。我有問題,因爲我引用了其他的東西。

0

當您解析JSON(您未在應用中顯示該代碼)時,可以使用reviver參數將字符串轉換爲日期。