Json.NET is a popular high-performance JSON framework for .NET

Features

The serializer is a good choice when the JSON you are reading or writing maps closely to a .NET class.

LINQ to JSON is good for situations where you are only interested in getting values from JSON, you don't have a class to serialize or deserialize to, or the JSON is radically different from your class and you need to manually read and write from your objects.

How do we get the Json.NET Library?

We can get it from NuGet:- https://nuget.org/packages/Newtonsoft.Json

Sample Code

class Customer {
    public int Id { get; set; }
    public string Name { get; set; }
    public int Salary { get; set; }
    public Address Address { get; set; }
}

class Address {
    public string City { get; set; }
    public int PinCode { get; set; }
}

class Program {
    static void Main(string[] args) {

        Customer c = new Customer();
        c.Id = 1;
        c.Salary = 1111;
        c.Name = "Amit Patel";
        c.Address = new Address();
        c.Address.City = "Pune";
        c.Address.PinCode = 411078;
        var customer = Newtonsoft.Json.JsonConvert.SerializeObject(c);
        Console.WriteLine(customer);
        Customer c1 = Newtonsoft.Json.JsonConvert.DeserializeObject<Customer>(customer);
        Console.Read();
    }
}

Reference: http://james.newtonking.com/projects/json-net.aspx

Happy Coding!