2017-02-22 4 views
0

ich nicht die Nummer mit Komma in json zu dezimal deserialisieren kann, weil Komma löscht, zum Beispiel 123,99 ersetzt durch die 12399.deserialize Zahl mit Komma in json dezimal

Ich habe ähnliches Problem Mine gefunden: Handling decimal values in Newtonsoft.Json aber mir ist einfacher, da es sich um eine Standard-Nummer ist, wo Punkt Komma ist, ich brauche keine bestimmte Kultur mit analysieren. Wie kann ich das machen?

public class PriceModel 
{ 
    public decimal Price { get; set; } 
} 

string json = @"{'Price': '1234,99'}"; 
PriceModel priceModel = JsonConvert.DeserializeObject<PriceModel>(json); 

Antwort

3

seine über aktuelle Thread Kultur ..

en-US-Separator ist "" ..

 PriceModel value = JsonConvert.DeserializeObject<PriceModel>("{'Price': '1234,99'}", new JsonSerializerSettings 
     { 
      // tr culture separator is ",".. 
      Culture = new System.Globalization.CultureInfo("tr-TR") 
     }); 

und diese überprüfen. https://msdn.microsoft.com/tr-tr/library/3ebe5aks(v=vs.110).aspx

+0

Bitte ersetzen Sie den Link mit: https://msdn.microsoft.com/en-us/en-en/library/3ebe5aks(v=vs.110).aspx?f=255&MSPPError=-2147217396 –