Choosing the correct serialization

You need to serialize some data to a file. The file can then be processed by another .NET application. Your data consists of personal records that store important information such as names, addresses, logon credentials, and contact details. You are wondering which serialization would be best. You think about XML binary, JSON or using a Data Contract.

To which format should you serialize the data?
Which serializer should you use?
Do you need to implement any specific serialization methods on your type?