The .NET API uses JSON.NET to serialize objects that are to be indexed. When using the Client class some customizations are automatically made to the serialization but further customization is possible. By customizing how objects are serialized, you can include additional fields, exclude fields, handle how fields are serialized and so on.
You can customize in two ways:
- By using attributes
- By customizing conventions used by the Client
Attributes let you quickly apply common customizations to classes that you can modify. On the other hand, the conventions let you do very powerfull customizations (such as customizing multiple classes at the same time and including return values from extension methods). without having to modify the the classes of the objects being serialized.