色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c#遞歸json tree

夏志豪1年前7瀏覽0評論

C#是一種面向?qū)ο蟮木幊陶Z言,遞歸是其中一個常用的技術(shù)。在處理JSON Tree時,遞歸也是非常重要的一種方法。

using Newtonsoft.Json.Linq;
public class JsonTree {
public void ReadJsonTree(JToken node)
{
if (node is JValue)
{
Console.WriteLine(node);
}
else if (node is JArray)
{
foreach (JToken child in node.Children())
{
ReadJsonTree(child);
}
}
else if (node is JObject)
{
foreach (JProperty child in node.Children())
{
Console.WriteLine(child.Name);
ReadJsonTree(child.Value);
}
}
}
}

以上代碼是一個簡單的JSON Tree遞歸讀取程序,可以處理任何層次的JSON Tree。

首先,添加Newtonsoft.Json命名空間,通過JToken來表示JSON Tree的節(jié)點(diǎn)。

代碼中的ReadJsonTree方法是一個遞歸方法,它先檢查節(jié)點(diǎn)的類型。

如果節(jié)點(diǎn)是個JValue,直接輸出節(jié)點(diǎn)的值。

如果節(jié)點(diǎn)是個JArray,遍歷數(shù)組中的每個元素,遞歸調(diào)用ReadJsonTree方法來處理其中的節(jié)點(diǎn)。

如果節(jié)點(diǎn)是個JObject,遍歷對象的每一個屬性,先輸出屬性的名稱,再遞歸調(diào)用ReadJsonTree方法來處理屬性對應(yīng)的節(jié)點(diǎn)。

通過使用以上的代碼,我們可以處理任何層次的JSON Tree。