using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Globalization;
using System.Collections.Specialized;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Serialization;
public class RawConverter : JsonConverter
public override bool CanConvert(Type objectType)
throw new NotImplementedException();
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
if (reader.TokenType == JsonToken.Null)
var raw = JRaw.Create(reader);
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
public int EmpId { get; set; }
public string EmpName { get; set; }
[JsonConverter(typeof(RawConverter))]
public string Address { get; set; }
public List<Employee> Employees { get; set; }
""Address"":""Something""
""Address"":""Something""
public static void Test()
var jsonEmployees = GetJson();
var Employees = JsonConvert.DeserializeObject<RootObject>(jsonEmployees);
Console.WriteLine("Addresses: ");
Console.WriteLine(String.Join("\n", Employees.Employees.Select(e => e.Address)));
Console.WriteLine("Re-serialized JSON: ");
Console.WriteLine(JsonConvert.SerializeObject(Employees, Formatting.Indented));
public static void Main()
Console.WriteLine("Json.NET version: " + typeof(JsonSerializer).Assembly.FullName);