Регулярные выражения, парсинг - C#
Формулировка задачи:
Ребята, помогите пожалуйста состряпать пару регулярок для парсинга текста.
Надо из этого :
Зделать string[] только со значениями.
А из этого :
сделать DataTable с колонками anx_hk,ask,bid,last,volume_btc,volume_percent.
Помогите плз.
{
"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
}{
"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
}
}Решение задачи: «Регулярные выражения, парсинг»
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);
}
}
}