C# How to set JsonProperty multiple names? C# How to set JsonProperty multiple names? json json

C# How to set JsonProperty multiple names?


You need to use attribute JsonExtensionData. Try this:

public sealed class ModuleA{    public string Foo { get; set; }}public sealed class ModuleB{    public string Boo { get; set; }}public class Node{    [JsonExtensionData]    public Dictionary<string, JToken> Context { get; set; }}public class Example{    public Node Node { get; set; }}var moduleA = new ModuleA {Foo = "Hello from Module A"};var moduleB = new ModuleB { Boo = "Hello from Module B" };var example = new Example        {            Node = new Node            {                Context = new Dictionary<string, JToken>                {                    {"A", JToken.FromObject(moduleA)},                    {"B", JToken.FromObject(moduleB)}                }            }        };        

Result:

{"Node": {    "A": {        "Foo": "Hello from Module A"    },    "B": {        "Boo": "Hello from Module B"    }}}