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

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

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

Ребята, помогите пожалуйста состряпать пару регулярок для парсинга текста. Надо из этого :
{
  "24h_avg": 763.11,
  "ask": 767.46,
  "bid": 766.36,
  "last": 767.27,
  "timestamp": "Wed, 01 Jan 2014 17:50:33 -0000",
  "total_vol": 30101.33
}
Зделать string[] только со значениями. А из этого :
{
  "anx_hk": {
    "rates": {
      "ask": 768.7,
      "bid": 740.0,
      "last": 740.0
    },
    "source": "bitcoincharts",
    "volume_btc": 0.02,
    "volume_percent": 0.0
  },
  "timestamp": "Wed, 01 Jan 2014 16:10:07 -0000",
  "vircurex": {
    "rates": {
      "ask": 738.0,
      "bid": 711.0,
      "last": 738.0
    },
    "source": "api",
    "volume_btc": 1.23,
    "volume_percent": 0.0
  }
}
сделать DataTable с колонками anx_hk,ask,bid,last,volume_btc,volume_percent. Помогите плз.

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

textual
Листинг программы
using Newtonsoft.Json;
using System;
 
namespace Ghost
{
    [JsonObject]
    public class XObjectFirst
    {
        [JsonProperty("24h_avg")]
        public double HoursAverage { get; set; }
 
        [JsonProperty("ask")]
        public double Ask { get; set; }
 
        [JsonProperty("bid")]
        public double Bid { get; set; }
 
        [JsonProperty("last")]
        public double Last { get; set; }
 
        [JsonProperty("timestamp")]
        public DateTimeOffset Timestamp { get; set; }
 
        [JsonProperty("total_vol")]
        public double TotalVolume { get; set; }
    }
 
    [JsonObject]
    public class Rates
    {
        [JsonProperty("ask")]
        public double Ask { get; set; }
 
        [JsonProperty("bid")]
        public int Bid { get; set; }
 
        [JsonProperty("last")]
        public int Last { get; set; }
    }
 
    [JsonObject]
    public class AnxHk
    {
        [JsonProperty("rates")]
        public Rates Rates { get; set; }
 
        [JsonProperty("source")]
        public string Source { get; set; }
 
        [JsonProperty("volume_btc")]
        public double VolumeBtc { get; set; }
 
        [JsonProperty("volume_percent")]
        public int VolumePercent { get; set; }
    }
 
    [JsonObject]
    public class XObjectSecond
    {
        [JsonProperty("anx_hk")]
        public AnxHk AnxJk { get; set; }
 
        [JsonProperty("timestamp")]
        public DateTimeOffset Timestamp { get; set; }
 
        [JsonProperty("vircurex")]
        public AnxHk Vircurex { get; set; }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            string json1 = @"{
""24h_avg"": 763.11,
""ask"": 767.46,
""bid"": 766.36,
""last"": 767.27,
""timestamp"": ""Wed, 01 Jan 2014 17:50:33 -0000"",
""total_vol"": 30101.33
}";
 
            string json2 = @"{
  ""anx_hk"": {
    ""rates"": {
      ""ask"": 768.7,
      ""bid"": 740,
      ""last"": 740
    },
    ""source"": ""bitcoincharts"",
    ""volume_btc"": 0.02,
    ""volume_percent"": 0
  },
  ""timestamp"": ""Wed, 01 Jan 2014 16:10:07 -0000"",
  ""vircurex"": {
    ""rates"": {
      ""ask"": 738,
      ""bid"": 711,
      ""last"": 738
    },
    ""source"": ""api"",
    ""volume_btc"": 1.23,
    ""volume_percent"": 0
  }
}";
            XObjectFirst obj1 = JsonConvert.DeserializeObject<XObjectFirst>(json1);
            XObjectSecond obj2 = JsonConvert.DeserializeObject<XObjectSecond>(json2);
        }
    }
}

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


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

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

9   голосов , оценка 4.667 из 5
Похожие ответы