[DataContract]
public class t_experience
{
[DataMember(Order = 1)]
public int id { get; set; }
[DataMember(Order = 2)]
public string name { get; set; }
[DataMember(Order=3)]
public List<Cchild> childern{get;set;}
}
[DataContract]
public class Cchild
{
[DataMember(Order=1)]
public int id { get; set; }
[DataMember(Order=2)]
public string name { get; set; }
}
public static class JSON
{
//// 反序列化
//public static T parse<T>(string jsonString)
//{
// using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)))
// {
// return (T)new DataContractJsonSerializer(typeof(T)).ReadObject(ms);
// }
//}
//序列化
public static string stringify(object jsonObject)
{
using (var ms = new MemoryStream())
{
new DataContractJsonSerializer(jsonObject.GetType()).WriteObject(ms, jsonObject);
return Encoding.UTF8.GetString(ms.ToArray());
}
}
}
class Program
{
static void Main(string[] args)
{
List<Cchild> clid = new List<Cchild>() { new Cchild() { id= 1, name= "cname1" }, new Cchild() { id=2, name="cname2" } };
t_experience p1 = new t_experience() { id = 1, name = "父类1", childern = clid };
t_experience p2 = new t_experience() { id = 2, name = "父类2" };
// 序列化
var jsonString = JSON.stringify(new t_experience[] { p1, p2 });
Console.WriteLine(jsonString);
Console.ReadKey();
}
}