Problème manipulation d'une date avec JSON
Résolu
drspinoza
Messages postés
51
Date d'inscription
Statut
Membre
Dernière intervention
-
drspinoza Messages postés 51 Date d'inscription Statut Membre Dernière intervention -
drspinoza Messages postés 51 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Pour être plus precis,
Je fais du localStorage avec JSON.
tout va bien sauf pour les dates je m'explique.
Cette fonction sert à ajouter des infos depuis un input
Cette partie sert à réutiliser mon objet JSON pour le mettre en html
Et enfin celle-ci à pour fonction d'enregistrer les transformations que je fait sur un objet
Bon tout fonctionne sauf pour la date.
Le problème est que lorsque je transforme un objet celui-ci n'enregistre pas la date dans le bon format.
Et je me retrouve avec une Date d'ouverture : undefined.
J'ai tenté de la rendre en String mais cela ne fonctionne toujours pas.
Toute aide est la bienvenue.
Merci,
Pour être plus precis,
Je fais du localStorage avec JSON.
tout va bien sauf pour les dates je m'explique.
Cette fonction sert à ajouter des infos depuis un input
function ajoutInfo() { var nom=$('input[name="nom"]').val(); var desc=$('textarea[name="description"]').val(); var image=$('input[name="image"]').val(); var date=$('input[name="date"]').val(); var capacite=$('input[name="capacite"]').val(); var pelouse=$('#pelouse').val(); var transport=$('input[name="transport"]').val(); lireBdJson(); var descJsonObjects=bd.descriptions; var jsonObject={ "nom":nom, "description":desc, "date":date, "capacite":capacite, "pelouse":pelouse, "transport":transport, "image":image }; descJsonObjects.push(jsonObject); bd.descriptions=descJsonObjects; localStorage.setItem('bdjson', JSON.stringify(bd)); return(true); }
Cette partie sert à réutiliser mon objet JSON pour le mettre en html
function lireBdJson() { bd=localStorage.getItem('bdjson'); if((bd=="undefined")||(bd==null)){ initialiserBdJson(); }else{ bd=JSON.parse(bd); } var descJsonObjects=bd.descriptions; var hr="<hr>"; $("#contenu:first").append(hr); for(var i=0;i<descJsonObjects.length;i++){ var jsonObject=null; jsonObject=descJsonObjects[i]; var div='<div class="ajoutjson">'; div=div+'<h3 class="nom" id="'+jsonObject.nom+'">'+jsonObject.nom+'</h3>'; div=div+'<img class="image" src='+jsonObject.image+'>'; div=div+'<div class="description">'+jsonObject.description+'</div>'; div=div+'<b>Capacité :</b><span class="capacite">'+jsonObject.capacite+'</span><br/>'; div=div+'<b>Pelouse :</b><span class="pelouse">'+jsonObject.pelouse+'</span><br/>'; div=div+'<b>Ouverture prévu le :</b><span class="date">'+jsonObject.date+'</span><br/>'; div=div+'<b>Transport :</b><span class="transport">'+jsonObject.transport+'</span><br/>'; div=div+'</div><br><br>'; $("#contenu:first").append(div); }
Et enfin celle-ci à pour fonction d'enregistrer les transformations que je fait sur un objet
function mettreAJourBdJson() { initialiserBdJson(); var descJsonObjects=bd.descriptions; $('div[class="ajoutjson"]').each(function(){ var nom=$(this).find('h3[class="nom"]').html(); var desc=$(this).find('div[class="description"]').html(); var image=$(this).find('img[class="image"]').attr('src'); var date=$(this).find('span[class="date"]').html(); var capacite=$(this).find('span[class="capacite"]').html(); var pelouse=$(this).find('span[class="pelouse"]').html(); var transport=$(this).find('span[class="transport"]').html(); var jsonObject={ "nom":nom, "description":desc, "capacite":capacite, "pelouse":pelouse, "transport":transport, "image":image }; descJsonObjects.push(jsonObject); }); bd.descriptions=descJsonObjects; localStorage.setItem('bdjson', JSON.stringify(bd)); }
Bon tout fonctionne sauf pour la date.
Le problème est que lorsque je transforme un objet celui-ci n'enregistre pas la date dans le bon format.
Et je me retrouve avec une Date d'ouverture : undefined.
J'ai tenté de la rendre en String mais cela ne fonctionne toujours pas.
Toute aide est la bienvenue.
Merci,
A voir également:
- Problème manipulation d'une date avec JSON
- Whatsapp date incorrecte ✓ - Forum Mobile
- Airpods 3 date de sortie - Guide
- Jm date avis - Forum Consommation & Internet
- Jm date désabonnement - Forum Gmail
- Cette photo n’a pas été prise cette année. trouvez la date, l'heure et avec quel modèle d'appareil photo elle a été prise. ✓ - Forum Graphisme
1 réponse
Salut,
et pourquoi pas l'objet Date() c'est fait pour ça et pas de problème de format puisque les méthodes associées permettent d'en ressortir la forme qu'on en veut.
Il faudra utiliser ses méthodes avant le stockage pour obtenir une valeur de type chaîne(ou un timestamp) et après la récupération du JSON(je connait peu JSON mais je ne voit pas pourquoi on pourrais pas y stocker un objet si on veut quitte à le parser avant et après enregistrement).
Je viens de penser aussi "date"serait pas un mot interdit?(puisque des fonctions s'écrivent avec date).
à vérifier
et pourquoi pas l'objet Date() c'est fait pour ça et pas de problème de format puisque les méthodes associées permettent d'en ressortir la forme qu'on en veut.
Il faudra utiliser ses méthodes avant le stockage pour obtenir une valeur de type chaîne(ou un timestamp) et après la récupération du JSON(je connait peu JSON mais je ne voit pas pourquoi on pourrais pas y stocker un objet si on veut quitte à le parser avant et après enregistrement).
Je viens de penser aussi "date"serait pas un mot interdit?(puisque des fonctions s'écrivent avec date).
à vérifier
J'étais en train de relire mon message et j'ai trouvé le problème qui est vraiment bête.
En fait c'est que j'ai oublié dans la mise à jour de remettre la variable date.
Voila pourquoi je perdais les données de celle-ci.
Donc conclusion on est pas obliger d'utiliser l'objet spécifique Date() une variable quelconque est suffisante.
Merci quand même d'avoir prit le temps de me répondre.