jquery プラグインを使用してクライアント側のツリービュー スキーマを作成できるように、特定のディレクトリ構造を取得して json に解析する方法があるかどうかを知りたいです。前もって感謝します
質問する
2935 次
3 に答える
6
JSON.NET の使用:
JToken GetDirectory(DirectoryInfo directory)
{
return JToken.FromObject(new
{
directory = directory.EnumerateDirectories()
.ToDictionary(x => x.Name, x => GetDirectory(x)),
file = directory.EnumerateFiles().Select(x => x.Name).ToList()
});
}
使用例:
var json = GetDirectory(new DirectoryInfo("...some path...")).ToString();
これにより、次のような JSON が得られます。
{
"directory":
{
"dirA": {
"file" : [ "file0.txt", "file1.jpg" ]
},
"emptyDir": {
}
},
"file": [ "file2.png" ]
}
于 2013-04-03T17:10:23.270 に答える
1
実際、 Json.NETを使用して C# オブジェクトを JSON に変換する簡単な方法があります。
必要なデータを含むを作成しList<>
て呼び出すだけです
var wrapper = new { TreeData= list };
string json = JsonConvert.SerializeObject(wrapper);
于 2013-04-03T17:09:30.303 に答える
-1
次のようなカスタム クラスを作成できます。
abstract class DirectoryChildItem
{
public string Name { get; set; }
}
class Directory : DirectoryChildItem
{
public List<DirectoryChildItem> Childs { get; set; }
}
class File : DirectoryChildItem
{
}
次に、静的クラス System.IO.Directory を使用してファイル システムを走査し、上記のクラスを使用して項目を作成する必要があります。ファイル システムをトラバースした後、ASP.NET MVC アクションで "return Json(obj)" メソッドを使用します。
于 2013-04-03T17:08:29.723 に答える