6
votes

JSON Paysez les formats de date?

suis-je correct en supposant que je devais convertir manuellement des chaînes de date codées JSON à la date d'objets dans mon code client?

venant de C #, j'ai pris pour acquis que cela se produisait automatiquement, mais je suppose que c'était .net.

Y a-t-il un mécanisme intégré pour obtenir des types JavaScript natifs d'une chaîne JSON (pour dates, intens, etc.)?

Merci.


1 commentaires

Scott, oui, c'est triste mais vrai. Ne vous inquiétez pas, cependant, la programmation JavaScript est toujours 10 fois meilleure que .NET.


5 Réponses :


1
votes

JSON n'a pas de type de date standard. Il existe différentes bibliothèques (y compris .NET) avec des extensions incompatibles pour le représentant.


0 commentaires

1
votes

voir Série JSON autonome sur MSDN qui donne Doc Sur la mise en œuvre de la SM


0 commentaires

5
votes

La spécification JSON ne définit pas de type de données de date. Qui est laissé à vous.

Voir la section A.8: http: // www.ecma-international.org/publications/files/ecma-st/ecma-262.pdf


1 commentaires

... et cela me rend assez triste ... triste en effet ... :(



1
votes

Convertissez automatiquement des dates ISO et ASP.NET Date des chaînes à des dates

Si vous utilisez une bibliothèque latérale client comme JQuery, vous pouvez utiliser mon extension JQuery permettant de convertir automatiquement les dates ISO et les dates ASP.NET à des dates réelles en utilisant $. Parsjson () .

check Mon article de blog pour le code.


0 commentaires

0
votes

JSON.PARSE () prend en charge le remplacement param. xxx pré>

voir Détails sur MDN P>

Vous pouvez donc gérer le type de date facilement dans JSON. P>

function replacer(key, value) {
  return key == "date1" || key == "date2" ? new Date(value) : value;
}

var obj = {
    date1:"5/21/2012 4:49:17 PM",
    date2:new Date()
}
var jsonString = JSON.stringify(obj);
console.log(jsonString);
var jsonObj = JSON.parse(jsonString, replacer);
console.log(jsonObj);


0 commentaires