Désérialisation de la sérialisation C # json

Sérialisation

Comment transférer des objets dans un système binaire ?? Sérialisation! Puis inverser une désérialisation ~

Code directement

1. Json populaire parce que js peut être transféré directement

Classe d'aide JsonHelper

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Script.Serialization;
using Newtonsoft.Json;


namespace 序列化
{
    class JsonHelper
    {

        #region  //第三方的比微软更快<!!!双方的版本一定要一致>
        /// <summary>
        /// Newtonsoft.Json;库的 JsonConvert.SerializeObject 
        /// 将对象序列化--》第三方库 !!!!!!!一定要注意《版本》的一致 不然会出错
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static string ToJson<T>(T obj)   //一定要注意《版本》的一致 不然会出错
        {
            return JsonConvert.SerializeObject(obj);
        }


        /// <summary>
        /// Newtonsoft.Json 反序列话
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="content"></param>
        /// <returns></returns>
        public static T ToObject<T>(string content)
        {
            return JsonConvert.DeserializeObject<T>(content);
        }

        #endregion


        #region   //序列化微软官方
        /// <summary>
        /// 微软官方序列化
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static string ObjectToStirng<T>(T obj)   //一定要注意《版本》的一致 不然会出错
        {
            JavaScriptSerializer jss = new JavaScriptSerializer();
            return jss.Serialize(obj);
        }

        /// <summary>
        /// 微软官方反序列话
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="content"></param>
        /// <returns></returns>
        public static T StringToObject<T>(string content)
        {
            JavaScriptSerializer jss = new JavaScriptSerializer();
            return jss.Deserialize<T>(content);
        }
        #endregion
    }
}

2. Appelez le test

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 序列化
{
    class Node
    {
        public int num { get; set; }
        public string name { get; set; }
    }
    class Program
    {
        static void Main(string[] args)
        {
             
            //微软方法测试
            List<Node> nodes = new List<Node>()
            {
                new Node(){ num=1,name="zhazha"},
                new Node(){num=2 ,name="zhazha3"}
            };
            var tt=JsonHelper.ObjectToStirng<List<Node>>(nodes);
            Console.WriteLine(tt);
            List<Node> nodes1 = JsonHelper.StringToObject<List<Node>>(tt);

            //第三方更快,测试
            var tt2 = JsonHelper.ToJson<List<Node>>(nodes);
            Console.WriteLine(tt2);
            List<Node> nodes2 = JsonHelper.ToObject<List<Node>>(tt2);
        }
    }
}

Insérez la description de l'image ici
Autres codes de sérialisation
! [Insérer la description de l'image ici] (https://img-blog.csdnimg.cn/20200330205224508.png
Insérez la description de l'image ici
Insérez la description de l'image ici
Insérez la description de l'image ici

Publié 27 articles originaux · loué 1 · visites 1673

Je suppose que tu aimes

Origine blog.csdn.net/qq_37959151/article/details/105208245
conseillé
Classement