J'ai un objet JSON qui peut stocker une Date (et/ou tout autre objet JS) mais je ne suis pas sûr de savoir comment l'extraire une fois dedans. Par exemple, j'ai cet exemple de code, mais il ne fonctionne pas:Obtenir la date et/ou la vérifier dans l'objet JSON?
for(var key in value){
if(value.hasOwnProperty(key)){
if(typeof value[key] == 'object'){
if(value[key].Date){
console.log('this is a date')
}
else{
console.log('not a date');
}
}
}
}
Cependant, il ne cesse revenir not a date
. Si j'inspecte l'objet JSON avec Firebug ou la Developer Console dans WebKit, je vois __proto__: Date
dans l'élément JSON correspondant ... alors, comment puis-je le sortir ou le vérifier?
--EDIT--
Voici ce que je vois dans le débogueur:
Object
->isADate: Fri Nov 26 2010 20:30:57 GMT-0800 (Pacific Standard Time)
--->__proto__: Date
->notADate: "some string"
--->__proto__: Object
Et voici la création im JSON:
var dateStorage = new storageLocker('date-test');
dateStorage.save({'isADate':new Date(),'notADate':'some string'});
Voici le code pour cette une partie de mon script (http://github.com/oscargodson/storagelocker)
storageLocker.prototype.save = function(value){
var json = JSON.parse(localStorage.getItem(this.catalog));
if(json == null){json = {};}
for(var key in value){
if(value.hasOwnProperty(key)){
json[key] = value[key];
console.log(value[key].Date);
if(typeof value[key] == 'object'){
if(value[key].Date){
console.log('this is a date')
}
else{
console.log('not a date');
}
}
}
}
localStorage.setItem(this.catalog,JSON.stringify(json));
return this;
}
Merci beaucoup! J'espère que cela aide plus!
S'il vous plaît fournir un extrait de JSON afin que nous puissions être sûr qu'il est vraiment valable JSON, et que le comportement que vous voyez est pas en raison des outils de débogage ravivant des objets pour vous automatiquement. – haylem