我需要将Treeview节点序列化为JSON格式并反序列化回Treeview。
我有一个自定义的SubNode类,如下所示
Class SubNode: TreeNode
{
dynamic obj;
}
因此,当创建树节点时,每个节点中也会有一个复杂的对象,如下所示。
SubNode sub = new SubNode();
sub.obj.property = "Value1"
sub.obj.Complex.Prooerty = "Value2"
等......
您能告诉我们我们是如何实现这一目标的吗?提前感谢一百万!
答案 0 :(得分: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 = "james@example.com",
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": "james@example.com",
// "Active": true,
// "CreatedDate": "2013-01-20T00:00:00Z",
// "Roles": [
// "User",
// "Admin"
// ]
// }
Console.WriteLine(json);
反序列化对象
string json = @"{
'Email': 'james@example.com',
'Active': true,
'CreatedDate': '2013-01-20T00:00:00Z',
'Roles': [
'User',
'Admin'
]
}";
Account account = JsonConvert.DeserializeObject<Account>(json);
Console.WriteLine(account.Email);