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? p>
venant de C #, j'ai pris pour acquis que cela se produisait automatiquement, mais je suppose que c'était .net. p>
Y a-t-il un mécanisme intégré pour obtenir des types JavaScript natifs d'une chaîne JSON (pour dates, intens, etc.)? P>
Merci. P>
5 Réponses :
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. P>
La spécification JSON ne définit pas de type de données de date. Qui est laissé à vous. P>
Voir la section A.8: http: // www.ecma-international.org/publications/files/ecma-st/ecma-262.pdf P>
... et cela me rend assez triste ... triste en effet ... :(
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 check Mon article de blog pour le code. p> $. Parsjson () Code> . P>
JSON.PARSE () prend en charge le remplacement param. 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);
Scott, oui, c'est triste mais vrai. Ne vous inquiétez pas, cependant, la programmation JavaScript est toujours 10 fois meilleure que .NET.