2016-02-10 143 views
0

我需要序列化TreeView節點爲JSON格式並反序列化回樹視圖。將Treeview序列化爲JSON並反序列化回樹視圖

我有一個自定義的子節點類如下圖所示

Class SubNode: TreeNode 
{ 
    dynamic obj; 
} 

所以創建一個樹節點時,它也會有一個複雜的對象中的每個節點,如下圖所示。

SubNode sub = new SubNode(); 
sub.obj.property = "Value1" 
sub.obj.Complex.Prooerty = "Value2" 

等等....

能否請你讓我知道我們如何實現這一目標?感謝提前一百萬!

回答

0

看看那裏現有的圖書館,着名的圖書館使用JSON.NET。你可以看看如何做的例子。

序列化的對象

public class Account 
{ 
    public string Email { get; set; } 
    public bool Active { get; set; } 
    public DateTime CreatedDate { get; set; } 
    public IList<string> Roles { get; set; } 
} 

Account account = new Account 
{ 
    Email = "[email protected]", 
    Active = true, 
    CreatedDate = new DateTime(2013, 1, 20, 0, 0, 0, DateTimeKind.Utc), 
    Roles = new List<string> 
    { 
     "User", 
     "Admin" 
    } 
}; 

string json = JsonConvert.SerializeObject(account, Formatting.Indented); 
// { 
// "Email": "[email protected]", 
// "Active": true, 
// "CreatedDate": "2013-01-20T00:00:00Z", 
// "Roles": [ 
//  "User", 
//  "Admin" 
// ] 
// } 

Console.WriteLine(json); 

反序列化對象

string json = @"{ 
    'Email': '[email protected]', 
    'Active': true, 
    'CreatedDate': '2013-01-20T00:00:00Z', 
    'Roles': [ 
    'User', 
    'Admin' 
    ] 
}"; 

Account account = JsonConvert.DeserializeObject<Account>(json); 

Console.WriteLine(account.Email);