我使用redis
通过字符串化并稍后解析它来存储对象。由于对象包含日期对象,因此我必须使用reviver
JSON.parse
函数将date
字符串再次转换为Date
对象。
我面临的问题是,当我通过JSON.parse
_.isEqual(object,other)
方法对它们进行比较时,从lodash
收到的对象与原始对象的关系并不相等。
但是,如果我将两个对象的内容打印到控制台上并进行比较,则内容相同。有人遇到过这个问题吗?
以下是我为测试目的而添加的部分代码?导致问题的是json.stringify。 `
var k = JSON.stringify(j);
k = JSON.parse(k, function (key, value) {
if (key === 'creation' || key === 'lastAccessed') {
return new Date(value);
} else {
return value;
}
});
console.log("Are j and k equal ? ", _.isEqual(j,k));
`
这是j的值:
{ _jar:
{ store:
{ idx:
{ 'XXXXXXXX.XXX.com':
{ '/':
{ JSESSIONID:
{ key: 'JSESSIONID',
value: 'XXXXXXXXXXXXXX',
path: '/',
creation: Tue May 19 2015 12:27:44 GMT+0530 (India Standard Time),
hostOnly: true,
domain: 'XXX.XXX.com',
lastAccessed: Tue May 19 2015 12:27:44 GMT+0530 (India Standard Time) },
ABC:
{ key: 'XXXXX',
value: '2015.1.0',
domain: 'XXXX.XXX.com',
path: '/',
creation: Tue May 19 2015 12:27:44 GMT+0530 (India Standard Time),
hostOnly: false,
lastAccessed: Tue May 19 2015 12:27:44 GMT+0530 (India Standard Time) } } } } } } }