Raj*_*l 웃 11 javascript json date
我想知道如何在json文件中设置今天的日期,就像我们在js中使用的一样.
有没有选项在json文件中指定Date.today()?
因为,每当我们读取json文件时,json数据都有date对象,它指定系统日期.
希望,你会明白我想说的.
提前致谢,
-Raja.
小智 11
服务器端可以生成ISO格式的JSON日期,例如"2012-04-30T02:15:12.356Z"然后客户端可以解析并加载到日期对象
new Date(Date.parse("2012-04-30T02:15:12.356Z"))
Run Code Online (Sandbox Code Playgroud)
JSON是一种结构化传输格式.它没有逻辑.
但这里有选项:
为什么不在阅读文件时获取日期呢?
让服务器生成包含生成日期的JSON.但是,如果您想要当前日期,这并不理想.当您读取文件时,服务器生成的日期已经过去.
构建一个解析器,解析一个字符串并使其搜索自定义标记.
例如,特殊标记包含在@{}
.获取命令,确定命令并执行替换.
var jsonString = '{"data1" : "foo","date" : "@{currentdate}"}'
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我会发现@{currentdate}
.我应该创建一个与此命令对应的函数,以@{currentdate}
在读取期间替换为当前日期(以您想要的格式)
var parsedString = jsonString.replace(/@\{(\w+)\}/g, function(match, group) {
if (group === 'currentdate') {
return new Date();
}
else if (group === 'anotherCommand') {
return 'anotherValue';
} //and so on
});
Run Code Online (Sandbox Code Playgroud)
结果是这样的:
jsonString = '{"data1" : "foo","date" : "Fri May 04 2012 01:17:07 GMT-0700 (PDT)"}'
Run Code Online (Sandbox Code Playgroud)
我建议您考虑使用JSON-js(json2.js)解析器,因为它解析所有标准JSON,但也允许您添加自定义解析处理逻辑,称为reviver
函数,非常适合您的场景.使用自定义处理程序调用JSON解析器的基本语法如下所示:
var myObject = JSON.parse(myJSONtext, reviverFunction);
使用您的示例输入作为指南,它可以设置为这样工作:
var jsonTxt = '[{' +
'"data1": "foo",' +
'"Date": "",' +
'"childs": [{' +
'"data2": "stack",' +
'"Date": ""' +
'}{}{}...]}]'; //and-on-and-on as in your comment
myData = JSON.parse(jsonTxt, function ( key, value ) {
if ( key === 'Date') { return new Date(); }
//any additonal custom logic you may need later...
});
Run Code Online (Sandbox Code Playgroud)
JSON在JavaScript页面中提供了对JSON-js的一般性介绍,以及一些关于JSON的简要介绍信息,该页面还包括一些使用场景.