Cette fois, je vais vous apporter un résumé des méthodes de conversion des classes d'entités .net et json Quelles sont les précautions pour convertir les classes d'entités .net et json Ce qui suit est un cas pratique, prenons. un regard.
Lors de la conversion des classes d'entités .net en json, veuillez faire attention aux points suivants :
1 La référence ajoutée lors de l'écriture de jsonhelp. System.Runtime.Serialization.Json;
2. La classe d'entité doit être déclarée comme publique
code jsonhelp :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Runtime.Serialization.Json; using System.IO; namespace JsonTest { class JsonHelp { public JsonHelp() { // // TODO: Add constructor logic here // } /// <summary> /// 把对象序列化 JSON 字符串 /// </summary> /// <typeparam name="T">对象类型</typeparam> /// <param name="obj">对象实体</param> /// <returns>JSON字符串</returns> public static string GetJson<T>(T obj) { //记住 添加引用 System.ServiceModel.Web /** * 如果不添加上面的引用,System.Runtime.Serialization.Json; Json是出不来的哦 * */ DataContractJsonSerializer json = new DataContractJsonSerializer(typeof(T)); using (MemoryStream ms = new MemoryStream()) { json.WriteObject(ms, obj); string szJson = Encoding.UTF8.GetString(ms.ToArray()); return szJson; } } /// <summary> /// 把JSON字符串还原为对象 /// </summary> /// <typeparam name="T">对象类型</typeparam> /// <param name="szJson">JSON字符串</param> /// <returns>对象实体</returns> public static T ParseFormJson<T>(string szJson) { T obj = Activator.CreateInstance<T>(); using (MemoryStream ms = new MemoryStream (Encoding.UTF8.GetBytes(szJson))) { DataContractJsonSerializer dcj = new DataContractJsonSerializer(typeof(T)); return (T)dcj.ReadObject(ms); } } } }
Entité code de classe :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace JsonTest { public class testData { public testData() { } public int Id { get; set; } public string Name { get; set; } public string Sex { get; set; } } }
Code de test de l'application console :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace JsonTest { class Program { static void Main(string[] args) { //实体类转json testData t1 = new testData(); t1.Id = 1; t1.Name = "001姓名"; t1.Sex = "男"; testData t2 = new testData(); t2.Id = 2; t2.Name = "002姓名"; t2.Sex = "男"; testData t3 = new testData(); t3.Id = 3; t3.Name = "003姓名"; t3.Sex = "男"; List<testData> tlist = new List<testData>(); tlist.Add(t1); tlist.Add(t2); tlist.Add(t3); Console.WriteLine(JsonHelp.GetJson<List<testData>>(tlist)); // Console.ReadKey(); //json转实体类 List<testData> tl = JsonHelp.ParseFormJson <List<testData>>(JsonHelp.GetJson<List<testData>>(tlist)); Console.WriteLine(tl.Count); Console.WriteLine(tl[0].Name); Console.ReadKey(); } } }
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Veuillez prêter attention aux choses plus excitantes. Autres articles connexes sur le site Web chinois de php !
Lecture recommandée :
jQuery crée un effet d'accordéon translucide vertical
jquery implémente la fonction d'invite de la souris dans le menu de navigation
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!