Skip to content

Instantly share code, notes, and snippets.

@Ravenheart
Last active July 21, 2016 12:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Ravenheart/0f4f47bbe14737cb01998cf86bf0396d to your computer and use it in GitHub Desktop.
Save Ravenheart/0f4f47bbe14737cb01998cf86bf0396d to your computer and use it in GitHub Desktop.
using MongoDB.Bson.Serialization;
using MongoDB.Bson.Serialization.Attributes;
using System;
namespace TestConsole
{
class Program
{
static void Main(string[] args)
{
string json = "{\"Child\":{\"Height\":0.5,\"Weight\":2.9}}";
try
{
var model = BsonSerializer.Deserialize<SampleClass>(json);
Console.WriteLine("Success");
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
Console.ReadKey();
}
}
[BsonIgnoreExtraElements]
public class SampleClass
{
public SubClass Child { get; set; }
public SampleClass()
{
this.Child = new SubClass();
}
}
[BsonIgnoreExtraElements]
public class SubClass
{
public float Height { get; set; }
public float Weight { get; set; }
}
}
@Ravenheart
Copy link
Author

Ravenheart commented Jul 21, 2016

System.FormatException: An error occurred while deserializing the Child property of class TestConsole.SampleClass: An error occurred while deserializing the Weight property of class TestConsole.SubClass: Truncation resulted in data loss. ---> System.FormatException: An error occurred while deserializing the Weight property of class TestConsole.SubClass: Truncation resulted in data loss. ---> MongoDB.Bson.TruncationException: Truncation resulted in data loss.
   at MongoDB.Bson.Serialization.Options.RepresentationConverter.ToSingle(Double value)
   at MongoDB.Bson.Serialization.Serializers.SingleSerializer.Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)
   at MongoDB.Bson.Serialization.Serializers.SerializerBase`1.MongoDB.Bson.Serialization.IBsonSerializer.Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)
   at MongoDB.Bson.Serialization.IBsonSerializerExtensions.Deserialize(IBsonSerializer serializer, BsonDeserializationContext context)
   at MongoDB.Bson.Serialization.BsonClassMapSerializer`1.DeserializeMemberValue(BsonDeserializationContext context, BsonMemberMap memberMap)
   --- End of inner exception stack trace ---
   at MongoDB.Bson.Serialization.BsonClassMapSerializer`1.DeserializeMemberValue(BsonDeserializationContext context, BsonMemberMap memberMap)
   at MongoDB.Bson.Serialization.BsonClassMapSerializer`1.DeserializeClass(BsonDeserializationContext context)
   at MongoDB.Bson.Serialization.BsonClassMapSerializer`1.Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)
   at MongoDB.Bson.Serialization.Serializers.SerializerBase`1.MongoDB.Bson.Serialization.IBsonSerializer.Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)
   at MongoDB.Bson.Serialization.IBsonSerializerExtensions.Deserialize(IBsonSerializer serializer, BsonDeserializationContext context)
   at MongoDB.Bson.Serialization.BsonClassMapSerializer`1.DeserializeMemberValue(BsonDeserializationContext context, BsonMemberMap memberMap)
   --- End of inner exception stack trace ---
   at MongoDB.Bson.Serialization.BsonClassMapSerializer`1.DeserializeMemberValue(BsonDeserializationContext context, BsonMemberMap memberMap)
   at MongoDB.Bson.Serialization.BsonClassMapSerializer`1.DeserializeClass(BsonDeserializationContext context)
   at MongoDB.Bson.Serialization.BsonClassMapSerializer`1.Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)
   at MongoDB.Bson.Serialization.IBsonSerializerExtensions.Deserialize[TValue](IBsonSerializer`1 serializer, BsonDeserializationContext context)
   at MongoDB.Bson.Serialization.BsonSerializer.Deserialize[TNominalType](String json, Action`1 configurator)
   at TestConsole.Program.Main(String[] args) in D:\DEV\TestConsole\TestConsole\Program.cs:line 15

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment