Регулярные выражения, парсинг - C#

Узнай цену своей работы

Формулировка задачи:

Ребята, помогите пожалуйста состряпать пару регулярок для парсинга текста. Надо из этого :
Листинг программы
  1. {
  2. "24h_avg": 763.11,
  3. "ask": 767.46,
  4. "bid": 766.36,
  5. "last": 767.27,
  6. "timestamp": "Wed, 01 Jan 2014 17:50:33 -0000",
  7. "total_vol": 30101.33
  8. }
Зделать string[] только со значениями. А из этого :
Листинг программы
  1. {
  2. "anx_hk": {
  3. "rates": {
  4. "ask": 768.7,
  5. "bid": 740.0,
  6. "last": 740.0
  7. },
  8. "source": "bitcoincharts",
  9. "volume_btc": 0.02,
  10. "volume_percent": 0.0
  11. },
  12. "timestamp": "Wed, 01 Jan 2014 16:10:07 -0000",
  13. "vircurex": {
  14. "rates": {
  15. "ask": 738.0,
  16. "bid": 711.0,
  17. "last": 738.0
  18. },
  19. "source": "api",
  20. "volume_btc": 1.23,
  21. "volume_percent": 0.0
  22. }
  23. }
сделать DataTable с колонками anx_hk,ask,bid,last,volume_btc,volume_percent. Помогите плз.

Решение задачи: «Регулярные выражения, парсинг»

textual
Листинг программы
  1. using Newtonsoft.Json;
  2. using System;
  3.  
  4. namespace Ghost
  5. {
  6.     [JsonObject]
  7.     public class XObjectFirst
  8.     {
  9.         [JsonProperty("24h_avg")]
  10.         public double HoursAverage { get; set; }
  11.  
  12.         [JsonProperty("ask")]
  13.         public double Ask { get; set; }
  14.  
  15.         [JsonProperty("bid")]
  16.         public double Bid { get; set; }
  17.  
  18.         [JsonProperty("last")]
  19.         public double Last { get; set; }
  20.  
  21.         [JsonProperty("timestamp")]
  22.         public DateTimeOffset Timestamp { get; set; }
  23.  
  24.         [JsonProperty("total_vol")]
  25.         public double TotalVolume { get; set; }
  26.     }
  27.  
  28.     [JsonObject]
  29.     public class Rates
  30.     {
  31.         [JsonProperty("ask")]
  32.         public double Ask { get; set; }
  33.  
  34.         [JsonProperty("bid")]
  35.         public int Bid { get; set; }
  36.  
  37.         [JsonProperty("last")]
  38.         public int Last { get; set; }
  39.     }
  40.  
  41.     [JsonObject]
  42.     public class AnxHk
  43.     {
  44.         [JsonProperty("rates")]
  45.         public Rates Rates { get; set; }
  46.  
  47.         [JsonProperty("source")]
  48.         public string Source { get; set; }
  49.  
  50.         [JsonProperty("volume_btc")]
  51.         public double VolumeBtc { get; set; }
  52.  
  53.         [JsonProperty("volume_percent")]
  54.         public int VolumePercent { get; set; }
  55.     }
  56.  
  57.     [JsonObject]
  58.     public class XObjectSecond
  59.     {
  60.         [JsonProperty("anx_hk")]
  61.         public AnxHk AnxJk { get; set; }
  62.  
  63.         [JsonProperty("timestamp")]
  64.         public DateTimeOffset Timestamp { get; set; }
  65.  
  66.         [JsonProperty("vircurex")]
  67.         public AnxHk Vircurex { get; set; }
  68.     }
  69.  
  70.     class Program
  71.     {
  72.         static void Main(string[] args)
  73.         {
  74.             string json1 = @"{
  75. ""24h_avg"": 763.11,
  76. ""ask"": 767.46,
  77. ""bid"": 766.36,
  78. ""last"": 767.27,
  79. ""timestamp"": ""Wed, 01 Jan 2014 17:50:33 -0000"",
  80. ""total_vol"": 30101.33
  81. }";
  82.  
  83.             string json2 = @"{
  84.  ""anx_hk"": {
  85.    ""rates"": {
  86.      ""ask"": 768.7,
  87.      ""bid"": 740,
  88.      ""last"": 740
  89.    },
  90.    ""source"": ""bitcoincharts"",
  91.    ""volume_btc"": 0.02,
  92.    ""volume_percent"": 0
  93.  },
  94.  ""timestamp"": ""Wed, 01 Jan 2014 16:10:07 -0000"",
  95.  ""vircurex"": {
  96.    ""rates"": {
  97.      ""ask"": 738,
  98.      ""bid"": 711,
  99.      ""last"": 738
  100.    },
  101.    ""source"": ""api"",
  102.    ""volume_btc"": 1.23,
  103.    ""volume_percent"": 0
  104.  }
  105. }";
  106.             XObjectFirst obj1 = JsonConvert.DeserializeObject<XObjectFirst>(json1);
  107.             XObjectSecond obj2 = JsonConvert.DeserializeObject<XObjectSecond>(json2);
  108.         }
  109.     }
  110. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы