Description
Thanks for the great library! I'm running into an issue with tracking events that have Dictionary properties. The message sent to Mixpanel looks fine, but the specific Dictionary<string, object> property always contains an empty array after serialization.
Here is a quick example:
var client = new MixpanelClient("your_token");
Dictionary<string, object> properties = new Dictionary<string, object>();
Dictionary<string, object> Items = new Dictionary<string, object> {
{"property1", 1},
{"property2", 2},
{"property3", 3}};
properties.Add("Custom Property", Items);
var message = client.GetTrackMessage("test", properties);
Any ideas what I'm doing wrong? I feel like this has to be a widespread use case to send a list and that I'm just missing something.
Thanks for the help.
Activity
ulf-melin-sveasolar commentedon Jun 11, 2024
Does anyone know if this is the way it should work? I tried v 5.1.0 and 6.0.0 with the same result. Dictionary<string, object> properties are not passed into the SerializeJsonFn
MixpanelConfig config = new MixpanelConfig()
{
SerializeJsonFn = MixpanelJsonSerializer.Serialize,
};
MixpanelClient client = new MixpanelClient("wdqwdqwdqwfwgwegwefgw", config);
var testMess = client.PeopleSetTest(Guid.NewGuid().ToString(), props);
This is what's in testMess.Json:
{"$set":{"WorksNicely":"Hog","BecomesEmptyArray":[]},"$token":"wdqwdqwdqwfwgwegwefgw","$distinct_id":"8e6b2a37-0e9a-4e15-a5bf-abc76da7ba70"}