I have this class for building strings:
public class WebSocketMessageBuilder
{
private readonly string _eventName;
private readonly Dictionary<string, string> _eventData;
public WebSocketMessageBuilder(string eventName)
{
_eventName = eventName;
}
public void AddData(string key, string value) => _eventData[key] = value;
public string ToJson()
{
return @"";
}
}
I would like to produce JSON strings like:
{
"event_name": "testing1",
"event_data": {
"key1": "value1",
"key2": "value2"
}
}
This string could be created like:
var wsMessage = new WebSocketMessageBuilder("testing1");
wsMessage.AddData("key1", "value2");
wsMessage.AddData("key1", "value2");
Console.WriteLine(wsMessage.ToJson());
How would I finish off the ToJson method? The documentation showed me some cool stuff, but nothing that helped me do this?
I have tried this, but it seems to just give me my class name back?
return new JObject {["event_name"] = _eventName, ["event_data"] = JsonConvert.SerializeObject(_eventData)}.ToString();