c# 使用 Newtonsoft.Json 序列化json字符串以及,反序列化对象

时间:2023-03-08 23:31:37
c# 使用 Newtonsoft.Json 序列化json字符串以及,反序列化对象

1. 序列化 对象

 /** 使用 Newtonsoft.Json 序列化对象 **/

 [WebMethod]
public String getPersonInfos() {
// 初始化数据
List < Pserson > mlist = new List < Pserson > ();
for (int i = 0; i < 5; i++)
{
Pserson mpersopn = new Pserson();
mpersopn.name = "张三";
mpersopn.sex = i % 2 == 0 ? "男" : "女";
mpersopn.age = 20 + i;
mlist.Add(mpersopn);
}
CallbackObject mcallback = new CallbackObject();
mcallback.falg = "200";
mcallback.message = "请求成功";
mcallback.result = mlist;
String str = JsonConvert.SerializeObject(mcallback);
return str;
}

  

c# 使用 Newtonsoft.Json 序列化json字符串以及,反序列化对象

2. 反序列化 json字符串

/** 使用 Newtonsoft.Json 反序列化json字符串 **

 [WebMethod]
public List < Pserson > getPersonInfo()
{
string jsonText = "[{'name':'张三','sex':'男','age':30},{'name':'李四','sex':'女','age':25}]";
List < Pserson > personlist = JsonConvert.DeserializeObject < List < Pserson >> (jsonText);
foreach(Pserson p in personlist) {
System.Diagnostics.Debug.WriteLine("\n\n");
String str = "name = " + p.name + "\t sex = " + p.sex + "\t age = " + p.age + "\n";
System.Diagnostics.Debug.WriteLine(str);
}
return personlist;
}

  

c# 使用 Newtonsoft.Json 序列化json字符串以及,反序列化对象

var result = JsonConvert.DeserializeAnonymousType(client.Execute(request).Content, new { access_token = string.Empty, expires_in = string.Empty });
var o2 = JsonConvert.DeserializeObject(json) as JObject;