Lorsque je retourne un objet contenant une propriété DateTime utilisant sur le client, je reçois p> si je retourne la même valeur en utilisant < / p> puis la valeur sérialisée renvoyée (ainsi que l'objet sérialisé) est un fuseau horaire conscient: p> existe-t-il un moyen de Obtenez un résultat compatible DateTime sans sans double sérialisation? J'ai lu quelque part que MS comprenda Newtonsoft Json dans MVC? P> P>
4 Réponses :
Si vous ne voulez pas creuser dans la chose d'analyse que de convertir simplement votre date à la chaîne que d'analyser avec le JSON.
Par exemple P>
return Json(DateTime.Now.ToString("your date format if you want to specify"));
Désolé, mais ce post ne consiste pas à montrer des dates. Il s'agit de la cohérence du format de date sérialisée pour des objets complexes contenant des propriétés DateTime dans le serveur au client et au client des scénarios de serveur. Et ce que vous suggérez de faire dans la 2e ligne avec SerializeObject pour l'objet entier.
@ user1188755 ... Vérifiez ci-dessous cette Stackoverflow.com/Questions/668488/...
J'ai finalement compris quoi faire.
Je vais changer mon projet au format DateTime ISO 8601. La sérialisation est bien effectuée avec json.net, juste en décorant la propriété DateTime sur l'objet avec l'attribut JSONConverter.
jsObject = JSON.parse(result)
Une bonne réponse mais j'ai trouvé que les attributs de Newtonsoft.json ne sont pas nécessaires. Il suffit d'utiliser $. Parsejson (résultat) code> analysera correctement les dates. Stackoverflow.com/a/4540007/752974
Il renvoie le format de date du serveur. Vous devez définir votre propre fonction. }; P> P>
dans la return Request.CreateResponse(HttpStatusCode.OK, obj);
Hmm google? Cela semble familier. La sérialisation de Newton fonctionne bien. La question est pourquoi MVC ignore le fuseau horaire quand ils ont adopté / date () / format.
Il suffit d'utiliser
$. Parsejson (résultat) code> analysera correctement les dates. Stackoverflow.com/a/4540007/752974