public void Example() { #region Usage string json = @"{ 'FullName': 'Dan Deleted', 'Deleted': true, 'DeletedDate': '2013-01-20T00:00:00' }"; MemoryTraceWriter traceWriter = new MemoryTraceWriter(); Account account = JsonConvert.DeserializeObject<Account>(json, new JsonSerializerSettings { TraceWriter = traceWriter }); Console.WriteLine(traceWriter.ToString()); // 2013-01-21T01:36:24.422 Info Started deserializing Newtonsoft.Json.Tests.Documentation.Examples.TraceWriter+Account. Path 'FullName', line 2, position 20. // 2013-01-21T01:36:24.442 Verbose Could not find member 'DeletedDate' on Newtonsoft.Json.Tests.Documentation.Examples.TraceWriter+Account. Path 'DeletedDate', line 4, position 23. // 2013-01-21T01:36:24.447 Info Finished deserializing Newtonsoft.Json.Tests.Documentation.Examples.TraceWriter+Account. Path '', line 5, position 8. // 2013-01-21T01:36:24.450 Verbose Deserialized JSON: // { // "FullName": "Dan Deleted", // "Deleted": true, // "DeletedDate": "2013-01-20T00:00:00" // } #endregion Assert.AreEqual(4, traceWriter.GetTraceMessages().Count()); }
private string Serialize(Foo1 f) { //Code copied from JsonConvert.SerializeObject(), with addition of trace writing JsonSerializer jsonSerializer = JsonSerializer.CreateDefault(); var traceWriter = new MemoryTraceWriter(); jsonSerializer.TraceWriter = traceWriter; StringBuilder sb = new StringBuilder(256); StringWriter sw = new StringWriter(sb, CultureInfo.InvariantCulture); using (JsonTextWriter jsonWriter = new JsonTextWriter(sw)) { jsonWriter.Formatting = Formatting.None; jsonSerializer.Serialize(jsonWriter, f, typeof(Foo1)); } Console.Out.WriteLine("Trace output:\n{0}", traceWriter.ToString()); return sw.ToString(); }
public void WriteJRawInArray() { ITraceWriter traceWriter = new MemoryTraceWriter(); List<JRaw> raws = new List<JRaw> { new JRaw("$('#element')"), new JRaw("$('#element')"), new JRaw("$('#element')") }; string json = JsonConvert.SerializeObject(raws, new JsonSerializerSettings { TraceWriter = traceWriter, Formatting = Formatting.Indented }); StringAssert.AreEqual(@"[ $('#element'), $('#element'), $('#element') ]", json); Assert.IsTrue(traceWriter.ToString().EndsWith(@"Verbose Serialized JSON: [ $('#element'), $('#element'), $('#element') ]", StringComparison.Ordinal)); }
public void SerializationBasics() { IList<string> roles = new List<string> { "User", "Admin" }; MemoryTraceWriter traceWriter = new MemoryTraceWriter(); string j = JsonConvert.SerializeObject(roles, new JsonSerializerSettings { Formatting = Formatting.Indented, TraceWriter = traceWriter }); string trace = traceWriter.ToString(); // Started serializing System.Collections.Generic.List`1[System.String]. // Finished serializing System.Collections.Generic.List`1[System.String]. // 2014-05-13T13:41:53.706 Verbose Serialized JSON: // [ // "User", // "Admin" // ] Console.WriteLine(trace); }
public void WriteJRaw() { ITraceWriter traceWriter = new MemoryTraceWriter(); JRaw settings = new JRaw("$('#element')"); string json = JsonConvert.SerializeObject(settings, new JsonSerializerSettings { TraceWriter = traceWriter }); Assert.AreEqual("$('#element')", json); Assert.IsTrue(traceWriter.ToString().EndsWith("Verbose Serialized JSON: " + Environment.NewLine + "$('#element')", StringComparison.Ordinal)); }