public static IContentSerializer GetSerializer() { return(SerializerBulider .For(ContentType.ApplicationJson) .Serialize(Serialize) .Deserialize(Deserialize)); }
static void Main(string[] args) { var config = new Configuration { BaseUrl = "http://localhost:1337/", Advanced = { Serializers = new List <IContentSerializer> { new Serializer <NewtonSoft>(ContentType.ApplicationJson), new Serializer <DefaultXml>(ContentType.ApplicationXml) } } }; var tomorrow = new Todo { Description = "Sleep in" }; var xmlSerializer = new Serializer <DefaultXml>(ContentType.ApplicationXml); var todoXml = xmlSerializer.Serialize(tomorrow); var xmlBack = xmlSerializer.Deserialize <Todo>(todoXml); // Create a custom serializer var custom = SerializerBulider .For(ContentType.ApplicationJson) .Serialize(NewtonSoft.Serialize) .Deserialize(DefaultJson.Deserialize); var customJson = custom.Serialize(tomorrow); var customObj = custom.Deserialize <Todo>(customJson); // Configure JsonNet however you want var newtonSoftSettings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }; //Register the change NewtonSoft.UpdateSettings(new NewtonsoftSettings { Settings = newtonSoftSettings }); // Go crazy, oh baby! var serializer = new Serializer <NewtonSoft>(ContentType.ApplicationJson); var tomorrowJson = serializer.Serialize(tomorrow); var tommorowObj = serializer.Deserialize <Todo>(tomorrowJson); var client = new HttpClient(config); var created = client.PostAsync <Todo>("api/todos", tomorrow).Result; }
public void Should_Set_Correct_Content_Types() { /* Setup */ var expected = new[] { ContentType.ApplicationJson, ContentType.TextCsv }; /* Test */ var result = SerializerBulider .For(expected) .Serialize(o => string.Empty) .Deserialize((s, t) => new object()); /* Assert */ Assert.That(result.ContentType, Is.EqualTo(expected)); }
public void Should_Call_Provided_Deserialize_Func_Upon_Deserialization() { /* Setup */ var deserializedCalled = false; var serializer = SerializerBulider .For(ContentType.ApplicationJson) .Serialize(o => string.Empty) .Deserialize((s, t) => { deserializedCalled = true; return(new object()); }); /* Test */ serializer.Deserialize <object>(string.Empty); /* Assert */ Assert.That(deserializedCalled, Is.True); }