using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.Serialization;
namespace Model
{
[DataContract]
public class Model_TreeNode
{
public Model_TreeNode(){
}
[DataMember]
public string Node_text
{
get;
set;
}
[DataMember]
public string Node_value
{
get;
set;
}
//引用类型的必须要不然吗,没法序列化
[DataMember]public List<Model_TreeNode> Node_list
{
get;
set;
}
[DataMember]
public bool IsChecked
{
get;
set;
}
[DataMember]
public bool IsShowCheckBox{
get;
set;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Runtime.Serialization.Json;
namespace Utils
{
public class Utils_Json
{
/// <summary>
/// JSON序列化
/// </summary>
public static string JsonSerializer<T>(T t)
{
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
MemoryStream ms = new MemoryStream();
ser.WriteObject(ms, t);
string jsonString = Encoding.UTF8.GetString(ms.ToArray());
ms.Close();
return jsonString;
}
/// <summary>
/// JSON反序列化
/// </summary>
public static T JsonDeserialize<T>(string jsonString)
{
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
T obj = (T)ser.ReadObject(ms);
return obj;
}
}
}