序列化:
Newtonsoft.Json.JsonSerializer a = new Newtonsoft.Json.JsonSerializer();
a.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; //设置不包含循环的导航属性(这个句只在.NET7项目有)
StringWriter sw = new StringWriter();
using (JsonWriter writer = new JsonTextWriter(sw))
{
a.Serialize(writer, s);
}
sw.Close();
string strR = sw.GetStringBuilder().ToString();
反序列化:
MemoryStream stream = new MemoryStream();
StreamWriter writer2 = new StreamWriter(stream);
writer2.Write(strR);
writer2.Flush();
stream.Position = 0;
StreamReader sReader = new StreamReader(stream);
JsonTextReader reader = new JsonTextReader(sReader);
reader.SupportMultipleContent = true;
Student sd= a.Deserialize<Student>(reader);