mirror of
https://github.com/JKorf/CryptoExchange.Net
synced 2025-06-10 01:16:24 +00:00
updated version, small fixes
This commit is contained in:
parent
c061c31c74
commit
c5ee620857
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Globalization;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
@ -41,7 +42,17 @@ namespace CryptoExchange.Net.Converters
|
|||||||
if (((JToken)value).Type == JTokenType.Null)
|
if (((JToken)value).Type == JTokenType.Null)
|
||||||
value = null;
|
value = null;
|
||||||
|
|
||||||
property.SetValue(result, value == null ? null : Convert.ChangeType(value, property.PropertyType));
|
if ((property.PropertyType == typeof(decimal)
|
||||||
|
|| property.PropertyType == typeof(decimal?))
|
||||||
|
&& value.ToString().Contains("e"))
|
||||||
|
{
|
||||||
|
if (decimal.TryParse(value.ToString(), NumberStyles.Float, CultureInfo.InvariantCulture, out var dec))
|
||||||
|
property.SetValue(result, dec);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
property.SetValue(result, value == null ? null : Convert.ChangeType(value, property.PropertyType));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
@ -13,6 +13,9 @@ namespace CryptoExchange.Net.Converters
|
|||||||
|
|
||||||
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
|
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
|
||||||
{
|
{
|
||||||
|
if (reader.Value.GetType() == typeof(double))
|
||||||
|
return new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).AddSeconds((double)reader.Value);
|
||||||
|
|
||||||
var t = double.Parse(reader.Value.ToString(), CultureInfo.InvariantCulture);
|
var t = double.Parse(reader.Value.ToString(), CultureInfo.InvariantCulture);
|
||||||
return new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).AddSeconds(t);
|
return new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).AddSeconds(t);
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<PackageId>CryptoExchange.Net</PackageId>
|
<PackageId>CryptoExchange.Net</PackageId>
|
||||||
<Authors>JKorf</Authors>
|
<Authors>JKorf</Authors>
|
||||||
<PackageVersion>0.0.33</PackageVersion>
|
<PackageVersion>0.0.34</PackageVersion>
|
||||||
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
|
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
|
||||||
<PackageProjectUrl>https://github.com/JKorf/CryptoExchange.Net</PackageProjectUrl>
|
<PackageProjectUrl>https://github.com/JKorf/CryptoExchange.Net</PackageProjectUrl>
|
||||||
<PackageLicenseUrl>https://github.com/JKorf/CryptoExchange.Net/blob/master/LICENSE</PackageLicenseUrl>
|
<PackageLicenseUrl>https://github.com/JKorf/CryptoExchange.Net/blob/master/LICENSE</PackageLicenseUrl>
|
||||||
|
@ -26,7 +26,7 @@ namespace CryptoExchange.Net
|
|||||||
protected AuthenticationProvider authProvider;
|
protected AuthenticationProvider authProvider;
|
||||||
private List<IRateLimiter> rateLimiters;
|
private List<IRateLimiter> rateLimiters;
|
||||||
|
|
||||||
private static JsonSerializer serializer = JsonSerializer.Create(new JsonSerializerSettings()
|
private static JsonSerializer defaultSerializer = JsonSerializer.Create(new JsonSerializerSettings()
|
||||||
{
|
{
|
||||||
DateTimeZoneHandling = DateTimeZoneHandling.Utc
|
DateTimeZoneHandling = DateTimeZoneHandling.Utc
|
||||||
});
|
});
|
||||||
@ -202,8 +202,11 @@ namespace CryptoExchange.Net
|
|||||||
return new ServerError(error);
|
return new ServerError(error);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected CallResult<T> Deserialize<T>(string data, bool checkObject = true) where T : class
|
protected CallResult<T> Deserialize<T>(string data, bool checkObject = true, JsonSerializer serializer = null) where T : class
|
||||||
{
|
{
|
||||||
|
if (serializer == null)
|
||||||
|
serializer = defaultSerializer;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var obj = JToken.Parse(data);
|
var obj = JToken.Parse(data);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user