我刚开始使用JSON字符串。我有一个包含json字符串的json字符串数组,如
{“ID”:“3”,“LinkFilename”:“Test.txt”,“Sender”:“abc @ hotmail.com”,“Created”:“2014-07-07T20:13:18.000Z” }
我想要做的是更改“已创建”键的值(这是一个日期)并省略其时间部分,因此它必须仅显示日期部分。我想生产类似的东西:
{“ID”:“3”,“LinkFilename”:“Test.txt”,“发件人”:“abc @ hotmail.com”,“已创建”:“2014-07-07”}
生成Json的代码如下:
var ItemsEntries = [];
var listItemInfo = '';
var itemsCount = this.collListItem.get_count();
for (i = 0; i < itemsCount; i++) {
var item = this.collListItem.itemAt(i);
var ItemEntry = JSON.stringify(item.get_fieldValues());
ItemsEntries.push(ItemEntry);
listItemInfo += ItemsEntries[i].toString(); + '\n';
}
请指导我。
答案 0 :(得分:1)
如果你有Javascript对象:
var item = {
"ID":"3",
"LinkFilename":"Test.txt",
"Sender":"abc@hotmail.com",
"Created":"2014-07-07T20:13:18.000Z"
}
并且您希望以您描述的方式更改Created
字段,您可以先从Date
字段值中创建一个新的Created
对象,然后只提取您关注的部分关于Date
API(http://www.w3schools.com/jsref/jsref_obj_date.asp)中包含的功能。
此代码应该能够将obj
更改为您需要的格式:
var formatItem = function(item){
var date = new Date(item["Created"]);
var formattedDate = date.getFullYear()
+ '-'
+ date.getMonth() + 1 // zero-based index...
+ '-'
+ date.getDate();
item["Created"] = formattedDate;
};
有一点需要注意的是,如果这个月是单个数字,则该月份不会被填0,但这很容易根据具体情况进行修复。