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

时间:2016-04-11 21:09:22

标签: json.net

我目前正在使用这个丑陋的代码将一堆键/值对(保存在Dictionairy中)添加到JObject。它不会将它们作为孩子添加,而是作为兄弟姐妹添加。那么代码可以正常工作,但如果将它们添加为子节点则会更清晰。 (动态对象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);
        }
    }

1 个答案:

答案 0 :(得分:0)

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

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

我的解决方案现在可以在以下网址找到:

can one convert a dynamic object to an ExpandoObject (c#)