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() }); Assert.AreEqual(@"{ ""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.AreEqual(person.BirthDate, deserializedPerson.BirthDate); Assert.AreEqual(person.LastModified, deserializedPerson.LastModified); Assert.AreEqual(person.Name, deserializedPerson.Name); json = JsonConvert.SerializeObject(person, Formatting.Indented); Assert.AreEqual(@"{ ""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.AreEqual("James", p.Name); }
public void CreateGetWithBadObjectTarget() { ExceptionAssert.Throws<InvalidCastException>("Unable to cast object of type 'Newtonsoft.Json.Tests.TestObjects.Person' to type 'Newtonsoft.Json.Tests.TestObjects.Movie'.", () => { Person p = new Person(); p.Name = "Hi"; Func<object, object> setter = DynamicReflectionDelegateFactory.Instance.CreateGet<object>(typeof(Movie).GetProperty("Name")); setter(p); }); }
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); }