private Dictionary<string, object> ParseField(string value)
{
var innerAdditionalFields = new Dictionary<string, object>();
if (value != null)
{
string[] fields;
if (!string.IsNullOrEmpty(FieldSeparator))
{
fields = value.Split(new[] { FieldSeparator }, StringSplitOptions.RemoveEmptyEntries);
}
else
{
fields = value.Split(',');
}
if (!string.IsNullOrEmpty(KeyValueSeparator))
{
innerAdditionalFields = fields
.Select(it => it.Split(new[] { KeyValueSeparator }, StringSplitOptions.RemoveEmptyEntries))
.ToDictionary(it => it[0], it => (object)it[1]);
}
else
{
innerAdditionalFields = fields
.Select(it => it.Split(':'))
.ToDictionary(it => it[0], it => (object)it[1]);
}
}
return innerAdditionalFields;
}