ちょろっと小ネタ、というか自分用メモ。
Json.NETを使って、C#からJSONファイル内の全ての末端ノードの情報を列挙してみました。
JSONファイルの、↓こういう末端のノードをすべて列挙します。

探索対象のJSONファイルはコレ
{
"app": {
"name": "i18nextTest",
"sampleText": "This is localized text."
},
"menu": {
"file": "File",
"edit": "Edit"
},
"level1": {
"level2":{
"sample": "サンプル",
"sample2": "ほげほげ"
},
"array": [
12, 23, 34
]
}
}
C#のコード
static void Main(string[] args) { var obj = JObject.Parse(File.ReadAllText(@"sample.json")); Traverse(obj); } public static void Traverse(JObject obj) { foreach(var item in obj) { var value = item.Value; // itemがツリー構造の枝/葉のどちらか判定 var isLeaf = value.Type != JTokenType.Object; if (isLeaf) { Console.WriteLine("Path:{0, -25}, {1}", value.Path, value.ToString(Formatting.None)); } else { Traverse((JObject)value); } } }
結果はこんな感じ。

Json.NETメッチャ便利!!