ezet / evelib

Eve Online Library.NET is an open source C# wrapper for CCPs Eve Online API and other popular Eve Online APIs.
Apache License 2.0
71 stars 36 forks source link

JsonSerializationException from EveStaticData.GetInvType(int) / GetInvTypeAsync(int) #64

Open ViperDK opened 8 years ago

ViperDK commented 8 years ago

var type = await new EveStaticData().GetInvTypeAsync(14031);

Just updated my Newtonsoft.Json to 8.0.2 to rule that out but makes no difference

Full $exception.ToString()

System.AggregateException: Mindestens ein Fehler ist aufgetreten. ---> Newtonsoft.Json.JsonSerializationException: Error converting value {null} to type 'System.Double'. Path 'base_price', line 1, position 391. ---> System.InvalidCastException: Das NULL-Objekt kann nicht in einen Werttyp konvertiert werden. bei System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider) bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(JsonReader reader, Object value, CultureInfo culture, JsonContract contract, Type targetType) --- Ende der internen Ausnahmestapelüberwachung --- bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(JsonReader reader, Object value, CultureInfo culture, JsonContract contract, Type targetType) bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target) bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id) bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue) bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent) bei Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType) bei Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings) bei Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonConverter[] converters) bei eZet.EveLib.Core.Serializers.JsonSerializer.eZet.EveLib.Core.Serializers.ISerializer.Deserialize[T](String data) bei eZet.EveLib.Core.RequestHandlers.RequestHandler.d61.MoveNext() --- Ende der internen Ausnahmestapelüberwachung --- bei System.Threading.Tasks.Task1.GetResultCore(Boolean waitCompletionNotification) bei ViperTheJew.Business.Logic.EveApi.EveApiReader.d9.MoveNext() in D:\viper\projects\ViperTheJew\ViperTheJew.Business\Logic\EveApi\EveApiReader.cs:Zeile 42. ---> (Interne Ausnahme #0) Newtonsoft.Json.JsonSerializationException: Error converting value {null} to type 'System.Double'. Path 'base_price', line 1, position 391. ---> System.InvalidCastException: Das NULL-Objekt kann nicht in einen Werttyp konvertiert werden. bei System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider) bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(JsonReader reader, Object value, CultureInfo culture, JsonContract contract, Type targetType) --- Ende der internen Ausnahmestapelüberwachung --- bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(JsonReader reader, Object value, CultureInfo culture, JsonContract contract, Type targetType) bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target) bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id) bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue) bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent) bei Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType) bei Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings) bei Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonConverter[] converters) bei eZet.EveLib.Core.Serializers.JsonSerializer.eZet.EveLib.Core.Serializers.ISerializer.Deserialize[T](String data) bei eZet.EveLib.Core.RequestHandlers.RequestHandler.d__6`1.MoveNext()<---

ezet commented 8 years ago

Wrong type, probably using int instead of long. However, EveStaticData is not a priority anymore because of EveCrest.