[c#] JSON的序列化和反序列化

json的序列化(就是把常规的数据变成json格式)和反序列(就是把json格式的数据变成常规的数据)化具体代码如下:

    class PersonInfo
    {
        public string name = null;
        public string age = null;
        public string sex = null;
    }
    class Program
    {
        static void Main(string[] args)
        {
            //初始化
            PersonInfo p1 = new PersonInfo();
            p1.name = "TEST";
            p1.age = "24";
            p1.sex = "Male";

            #region 序列化(就是把常规的数据变成json格式)
            // 带 Newtonsoft.Json.Formatting.Indented,会返回标准的格式化后的JSON字符串
            string jsonInfo = Newtonsoft.Json.JsonConvert.SerializeObject(p1,Newtonsoft.Json.Formatting.Indented);
            Console.WriteLine("带 Newtonsoft.Json.Formatting.Indented的结果为:" );
            Console.WriteLine(jsonInfo);

            // 不带 Newtonsoft.Json.Formatting.Indented
            string jsonInfo1 = Newtonsoft.Json.JsonConvert.SerializeObject(p1);
            Console.WriteLine("不带 Newtonsoft.Json.Formatting.Indented的结果为:");
            Console.WriteLine(jsonInfo1);
            #endregion

            #region 反序列化(就是把json格式的数据变成常规的数据)
            // 反序列化为字典
            Dictionary d1 = Newtonsoft.Json.JsonConvert.DeserializeObject>(jsonInfo);
            Console.WriteLine("反序列化的结果为:");
            Console.WriteLine(d1["name"]);
            Console.WriteLine(d1["age"]);
            Console.WriteLine(d1["sex"]);
            #endregion

            Console.ReadKey();
        }
    }

运行结果如下:

[c#] JSON的序列化和反序列化_第1张图片

 

你可能感兴趣的:(c#,c#,json,开发语言)