Парсинг JSON строки

384
22 августа 2017, 10:42

Есть json и я его обрабатываю

{"success":true,"message":"","result":[{"price":0.07205551]}

вот так

dynamic exchange = JObject.Parse(response);
JArray answerjsonall = (JArray)exchange["result"];
return exchange["result"][0]["price"].ToString();

На выход уходит 0,07205551 (с запятой) Почему так и как исправить?

Answer 1

Потому что числа преобразуются в строку в формате вашего текущего языка.

Либо поменяйте текущий язык вашего потока (Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-US");, либо преобразовывайте в строку с указанием языка (.ToString(CultureInfo.GetCultureInfo("en-US"))).

Если хотите управлять выводом вашего числа более подробно, почитайте документацию о форматных строках:

  • Standard Numeric Format Strings
  • Custom Numeric Format Strings
Answer 2

Потому что настройки локали влияют на формат вывод чисел (также дат, времени, дней недели и т.д.)

READ ALSO
Класс ObservableCollection<T> и функция IndexOf

Класс ObservableCollection<T> и функция IndexOf

Добрый день столкнулся с такой проблемой: функция IndexOf класса ObservableCollection всегда возвращает -1Вот код:

322