public void JsonConvertSerializerSettings() { Person person = new Person(); person.BirthDate = new DateTime(2000, 11, 20, 23, 55, 44, DateTimeKind.Utc); person.LastModified = new DateTime(2000, 11, 20, 23, 55, 44, DateTimeKind.Utc); person.Name = "Name!"; string json = JsonConvert.SerializeObject(person, Formatting.Indented, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }); StringAssert.Equal(@"{ ""name"": ""Name!"", ""birthDate"": ""2000-11-20T23:55:44Z"", ""lastModified"": ""2000-11-20T23:55:44Z"" }", json); Person deserializedPerson = JsonConvert.DeserializeObject<Person>(json, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }); Assert.Equal(person.BirthDate, deserializedPerson.BirthDate); Assert.Equal(person.LastModified, deserializedPerson.LastModified); Assert.Equal(person.Name, deserializedPerson.Name); json = JsonConvert.SerializeObject(person, Formatting.Indented); StringAssert.Equal(@"{ ""Name"": ""Name!"", ""BirthDate"": ""2000-11-20T23:55:44Z"", ""LastModified"": ""2000-11-20T23:55:44Z"" }", json); }
public void PopulatePerson() { Person p = new Person(); JsonConvert.PopulateObject(@"{""Name"":""James""}", p); Assert.Equal("James", p.Name); }
public void FromObjectInsideConverterWithCustomSerializer() { var p = new Person { Name = "Daniel Wertheim", }; var settings = new JsonSerializerSettings { Converters = new List<JsonConverter> { new FooJsonConverter() }, ContractResolver = new CamelCasePropertyNamesContractResolver() }; var json = JsonConvert.SerializeObject(p, settings); Assert.Equal(@"{""foo"":""bar"",""name"":""Daniel Wertheim"",""birthDate"":""0001-01-01T00:00:00"",""lastModified"":""0001-01-01T00:00:00""}", json); }
public void CreateSetWithBadObjectTarget() { AssertException.Throws<InvalidCastException>(() => { Person p = new Person(); Movie m = new Movie(); Action<object, object> setter = DynamicReflectionDelegateFactory.Instance.CreateSet<object>(typeof(Movie).GetProperty("Name")); setter(m, "Hi"); Assert.Equal(m.Name, "Hi"); setter(p, "Hi"); Assert.Equal(p.Name, "Hi"); }, "Unable to cast object of type 'OpenGamingLibrary.Json.Test.TestObjects.Person' to type 'OpenGamingLibrary.Json.Test.TestObjects.Movie'."); }
public void BlogCodeSample() { Person p = new Person { Name = "Keith", BirthDate = new DateTime(1980, 3, 8), LastModified = new DateTime(2009, 4, 12, 20, 44, 55), }; string jsonText = JsonConvert.SerializeObject(p, new IsoDateTimeConverter()); // { // "Name": "Keith", // "BirthDate": "1980-03-08T00:00:00", // "LastModified": "2009-04-12T20:44:55" // } Console.WriteLine(jsonText); }