La façon de localiser si JSON-sérialisation?
J'ai eu du mal pendant quelques heures maintenant avec aucun bon résultat. Je suis en train d'utiliser .NET JSON Sérialiseurs pour la conversion de JSON en arrière à partir de l'INTERFACE utilisateur dans les objets.
Le problème se pose avec les décimales parce que la norme pour ma culture a "," comme séparateur décimal au lieu de ".". J'ai essayé de mettre en œuvre un convertisseur personnalisé (voir cette question) avec pas de bons résultats.
J'ai aussi vérifié NewtonSoft JSON.net sans de meilleurs résultats. Jusqu'à présent, il semble que la correspondance avec les types de valeur se fait de culture de manière invariante en ce qui. Je veux remplacer ce comportement, comment faire?
BTW, je tiens vraiment à éviter la localisation sur le javascript côté. J'ai vraiment envie .NET pour prendre soin de la croix-mise en forme de la culture et de la localisation, je ne pense pas qu'il devrait y avoir des exceptions, comme je suis la recherche avec ce sérialiseurs, je suppose qu'il devrait être une bonne façon de le faire.
Merci d'avance.
Vous devez vous connecter pour publier un commentaire.
Le JSON standard pour la sérialisation des valeurs décimales ne prévoit pas la mise en forme localisée. (Voir JSON.org.) C'est pourquoi les valeurs sont toujours mis en forme avec l'Invariant de la culture.
Si vous avez besoin de valeurs localisées, alors vous aurez besoin de créer un convertisseur personnalisé pour votre sérialiseur de choix qui affiche le nombre de décimales que la pré-formaté chaînes à la place. Dans Json.Net cela peut être fait facilement comme indiqué ci-dessous:
De sortie:
Vous êtes le réglage du CultureInfo sur votre thread en cours de CurrentCulture et CurrentUICulture propriétés?