110,538
社区成员
发帖
与我相关
我的任务
分享
public class JsonTools
{
// 从一个对象信息生成Json串
public static string ObjectToJson(object obj)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
MemoryStream stream = new MemoryStream();
serializer.WriteObject(stream, obj);
byte[] dataBytes = new byte[stream.Length];
stream.Position = 0;
stream.Read(dataBytes, 0, (int)stream.Length);
return Encoding.UTF8.GetString(dataBytes);
}
// 从一个Json串生成对象信息
public static object JsonToObject(string jsonString, object obj)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
MemoryStream mStream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
return serializer.ReadObject(mStream);
}
}
public class Info
{
private string version = "";
[DataMember(Name = "version")]
public string Version
{
get { return version; }
set { version = value; }
}
private string code = "";
[DataMember(Name = "code")]
public string Code
{
get { return code; }
set { code = value; }
}
private List<Obj> list = new List<Obj>();
public List<Obj> files
{
get { return list; }
set { list = value; }
}
}
public class Obj
{
private string name = "";
public string Name
{
get { return name; }
set { name = value; }
}
private int flag = 0;
public int Flag
{
get { return flag; }
set { flag = value; }
}
}
应用:
在Form2中添加一个GetJson属性
public string GetJSON
{
get
{
Info obj = new Info();
obj.Code = "afdafdsfsdf";
obj.Version = "1.0.0.1";
Obj o = new Obj();
o.Flag = 0;
o.Name = "网络建设";
obj.files.Add(o);
string json = JsonTools.ObjectToJson(obj);
return json;
}
}
然后在Form2的关闭事中处理
private void Form1_Load(object sender, EventArgs e)
{
Form2 frm = new Form2();
frm.FormClosed += new FormClosedEventHandler(frm_FormClosed);
}
private void frm_FormClosed(object sender, FormClosedEventArgs e)
{
Form2 frm = ( Form2)sender;
string json = frm.GetJSON;
}