JS中,JSON数组中日期格式转换的问题

JavaScript011

JS中,JSON数组中日期格式转换的问题,第1张

如果你的数组如你所说的这样,可以用下面的方式,其实核心的东西没有变,只是获取的方法不同,

var date = [

{"riqi":"2017-10-19","xinpai_db":"8","xinpai_gz":"8"},

{"riqi":"2017-10-20","xinpai_db":"3","xinpai_gz":"0"},

{"riqi":"2017-10-21","xinpai_db":"0","xinpai_gz":"0"}

]

for(var i=0i<date.lengthi++){

date[i]['riqi']= date[i]['riqi'].replace(/-/g,"/")

}

(1)转换值如果有 toJSON() 方法,该方法定义什么值将被序列化。

如果一个被序列化的对象拥有 toJSON 方法,那么该 toJSON 方法就会覆盖该对象默认的序列化行为:不是该对象被序列化,而是调用 toJSON 方法后的返回值会被序列化,例如:

(2)布尔值、数字、字符串的包装对象在序列化过程中会自动转换成对应的原始值

(3)undefined、任意的函数以及 symbol 值,在序列化过程中会被忽略(出现在非数组对象的属性值中时)或者被转换成 null(出现在数组中时)。函数、undefined 被单独转换时,会返回 undefined,如JSON.stringify(function(){}) or JSON.stringify(undefined)。

(4) 对包含循环引用的对象(对象之间相互引用,形成无限循环)执行此方法,会抛出错误。

(5) 所有以 symbol 为属性键的属性都会被完全忽略掉,即便 replacer 参数中强制指定包含了它们。

(6) Date 日期调用了 toJSON() 将其转换为 string 字符串(Date.toISOString()),因此会被当做字符串处理。

(7) NaN 和 Infinity 格式的数值及 null 都会被当做 null。

(8) 其他类型的对象,包括 Map/Set/WeakMap/WeakSet,仅会序列化可枚举的属性。

space 参数用来控制结果字符串里面的间距。