What is BSON
BSON stands for Binary JSON. The data structure (name value & array) is similar to JSON, the only difference is it can also hold binary data unlike JSON.
When should BSON be used
The simplest answer is "when there is a requirement for sending structured binary data over network". Eg:- You have to get profile details of a user with a small profile pic icon. In this requirement you can avoid making an additional request to the server to get profile pic.
Where is BSON mainly used.
It's mainly used in MongoDB NoSQL database for their data storage and as the network transfer format.
Why not xml for sending binary data.
BSON is faster than xml in its parsing and transferring data over network. Its data structure is easy to handle. BSON is also implemented in different languages. So no worries when multi platform communication required.
One of my favourite java frameworks