public void PopulateDictionary(byte[] data, int position, int length, IDictionary<string, object> output)
{
string jsonText = Encoding.UTF8.GetString(data, position, length);
//JsonConvert.PopulateObject(jsonText, output);
foreach (var pair in _serializer.Deserialize<Dictionary<string, object>>(jsonText))
{
if (pair.Value is IDictionary<string, object> || pair.Value is System.Collections.ArrayList)
{
output.Add(pair.Key, _serializer.Serialize(pair.Value));
}
else
{
output.Add(pair.Key, pair.Value);
}
}
}