using Newtonsoft.Json.Linq;
public static void Main()
EmbeddedJson = @"{ ""Baz"" : ""Quux"" }"
string json = JsonConvert.SerializeObject(foo, Formatting.Indented);
foo = JsonConvert.DeserializeObject<Foo>(json);
Console.WriteLine("Id = " + foo.Id);
Console.WriteLine("Name = " + foo.Name);
Console.WriteLine("EmbeddedJson = " + foo.EmbeddedJson);
public int Id { get; set; }
public string Name { get; set; }
[JsonConverter(typeof(RawJsonConverter))]
public string EmbeddedJson { get; set; }
class RawJsonConverter : JsonConverter
public override bool CanConvert(Type objectType)
return (objectType == typeof(string));
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
writer.WriteRawValue((string)value);
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
return JToken.Load(reader).ToString(Formatting.None);