【发布时间】:2016-04-11 21:09:22
【问题描述】:
我目前正在使用这个丑陋的代码将一堆键/值对(保存在字典中)添加到 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);
}
}
【问题讨论】:
-
代码有效 - 那么你的问题是什么,你有什么问题呢?
-
我不希望它插入节点的兄弟节点,而是插入一个子节点。但我在使用 .AddFirst() 时遇到了麻烦
-
我不希望它插入节点的兄弟节点 - 什么节点,
e?e.Add(string, JToken)将指定的属性添加为e的最后一个孩子,所以我不确定我是否明白你的意思。你能创建一个example 的输入 JSON 以及你想要得到的结果吗? -
在下面查看我的答案,我建议采用不同的方法来解决这个问题。
标签: json.net