public JToken SerializeToJson()
{
switch (ValueType)
{
case VariantType.Map:
case VariantType.TypedMap:
return new JObject(Children.Select(x => new JProperty(x.Key, x.Value.SerializeToJson())));
default:
return Value == null?null:JToken.FromObject(Value);
}
}
}