将键/值作为子对象动态添加到JSON.NET JObject中



我目前正在使用这个丑陋的代码向JObject添加一堆键/值对(保存在Dictionairy中)。它并没有将他们添加为孩子,而是将他们作为兄弟姐妹。代码可以工作,但如果将它们作为子节点添加,则会更干净。(动态对象e,持有JObject)

    public void trigger(dynamic e ,Pairs extras)
    {
        if (Post != null)
        {
            foreach (KeyValuePair<string, object> entry in extras)
            {
                Newtonsoft.Json.Linq.JValue val = new Newtonsoft.Json.Linq.JValue(entry.Value);
                e.Add(entry.Key, val);
            }
            Post(this,  e);
        }
    }

对于我的特殊需求,(通过SignalR发送动态对象,SignalR使用JSON.NET进行序列化)。我找到了一个更简单的解决方案。

我的问题是,我有一个dymanic密封类,JSON.NET正在为它创建一个JTOKEN,然后我试图添加更多的数据。当我做e.Add(字符串,JTOKEN)时,它正在创建第二个子树。那太难看了。

我的解决方案现在可以在以下位置找到:

可以将动态对象转换为ExpandoObject(c#)吗

相关内容

  • 没有找到相关文章

最新更新