Skip to content

Latest commit

 

History

History
41 lines (33 loc) · 1.26 KB

README.md

File metadata and controls

41 lines (33 loc) · 1.26 KB

Xrm.Json.Serialization

Library provides simple JSON serialization / deserialization functionality that will process MS Dynamics CRM entities nicely. It provides simple and compact output and requires minimum configuration. Library uses JSON.NET as an engine for its operation.

To enable MS Dynamics CRM specific rules, custom JSON.NET converters need to be registered before performing serialization / deserialization:

JsonConvert.DefaultSettings = () => new JsonSerializerSettings
{
    Converters = new List<JsonConverter>()
    {
        new EntityCollectionConverter(),
        new EntityConverter(),
        new EntityReferenceConverter(),
        new MoneyConverter(),
        new OptionSetConvertor()
    }
};

When all custom converters are registered, it's possible to supply entity to the JSON.NET engine:

// Creating dummy entity with one OptionSet attribute
var entity = new Entity("test", Guid.NewGuid());
entity.Attributes.Add("attribute1", new OptionSetValue(1));

// Performing conversion
var json = JsonConvert.SerializeObject(entity, Formatting.Indented);

Resulting JSON will look like following:

{
  "_reference": "test:16118a60-4346-46ab-8cf7-7e2bd9233b2f",
  "attribute1": {
    "_option": 1
  }
}