【发布时间】:2015-10-22 23:55:04
【问题描述】:
{"a":1,"b":{"c":{}},"d":{"e":1,"f":{"g":{}}}}
这是一个简单的json,如何从json中递归删除空键 所以输出应该在这里
{"a":1,"d":{"e":1}}
我试过的东西 removeEmptyDocs(token,"{}")
private void removeEmptyDocs(JToken token, string empty)
{
JContainer container = token as JContainer;
if (container == null) return;
List<JToken> removeList = new List<JToken>();
foreach (JToken el in container.Children())
{
JProperty p = el as JProperty;
if (p != null && empty.Contains(p.Value.ToString()))
{
removeList.Add(el);
}
removeEmptyDocs(el, empty);
}
foreach (JToken el in removeList)
{
el.Remove();
}
}
【问题讨论】:
标签: c# json recursion json.net