首页 > 其他分享 >Json序列化和反序列化(两种方式)

Json序列化和反序列化(两种方式)

时间:2023-12-18 17:22:05浏览次数:24  
标签:两种 string DataContractJsonSerializer Json ms 序列化 public

序列化:对象--->Json 反序列化:Json--->对象 方式1:.NET3.5自带类库实现 .net3.5提供了json对象序列化与反序列化的类。位置在:System.Runtime.Serialization.Json空间下。其中如果要应用这个空间还必须添加对 System.ServiceModel System.ServiceModel.Web 这两个库文件的引用。

        public class Student
        {
            public int ID { get; set; }

            public string Name { get; set; }

            public int Age { get; set; }

            public string Sex { get; set; }
        }
        #region(使用 DataContractJsonSerializer 序列化,.net3.5)
        public string ToJson(Student St)//序列化
        {

            DataContractJsonSerializer dj = new DataContractJsonSerializer(typeof(Student));
            MemoryStream ms = new MemoryStream();
            dj.WriteObject(ms, St);
            string strReturn = Encoding.UTF8.GetString(ms.ToArray());
            ms.Close();
            return strReturn;
        }
        public object FromJson(string strJson)//反序列化
        {
            DataContractJsonSerializer dj = new DataContractJsonSerializer(typeof(Student));
            MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(strJson));
            return dj.ReadObject(ms);
        }
        #endregion
方式2:使用Newtonsoft.Json.dll文件来实现

        #region(使用JsonConvert序列化,需要引用Newtonsoft.json)
        public string ToJson2(object ob)//序列化
        {
            string json = JsonConvert.SerializeObject(ob);
            return json;
        }
    
        public object FromJson2(string strjson)
        {
            object ob1 = JsonConvert.DeserializeObject(strjson);
            return ob1;
        } 
        #endregion

 

标签:两种,string,DataContractJsonSerializer,Json,ms,序列化,public
From: https://www.cnblogs.com/xuexz/p/17911717.html

相关文章

  • 亚马逊鲲鹏系统两种养号模式助你快速养成买家号
    亚马逊鲲鹏系统的养号模式多种多样,一种是智能AI一键养号,另一种是根据个人操作习惯进行设置的养号模式。这两种方式各有特色,为用户提供了更加灵活和个性化的选择。首先,AI智能一键养号模式是一项引人注目的创新。用户只需简单设置一些基本信息,如AI姓名、年龄、性别、职业以及爱好等,系......
  • 天猫商品详情接口 json 格式返回介绍
    天猫商品详情数据接口返回的JSON格式数据通常包含以下字段:num_iid:商品IDtitle:商品标题desc_short:商品简短描述price:商品价格total_price:商品总价(如有优惠券等)suggestive_price:推荐价格orginal_price:原价nick:卖家昵称num:库存数量detail_url:商品详情链接pic_url:商品图片链接brand:......
  • python的orjson
    简介首先我们先来了解下orjson的优缺点:可以将datetime、date和time实例序列化为RFC3339格式,例如:"2022-06-12T00:00:00+00:00"序列化numpy.ndarray实例的速度比其他库快4-12倍,但使用的内存更少,约为其他库的1/3左右输出速度是标准库的10到20倍序列化的结果是bytes类型,而不是......
  • python网站创建011:函数、序列化
    经典函数:JS经典函数定义function函数名(a1,a2){vara3=a1+a2returna3}varres=函数名(11,22)console.log(res) 那如何在浏览器中查看打印结果呢?  匿名函数:没名字的函数,如果只有一个地方用到,则直接使用......
  • 使用Servlet进行页面跳转的两种方式
    最近在教学生学习JavaWeb相关的技术,刚好讲到Java当中的Servlet,一个服务端的小程序。也在和学生讲使用Servlet如何进行页面跳转,一种方式是使用请求转发进行页面跳转,一种方式是使用响应重定向。下面就来分别聊一聊这两种页面跳转方式。 首先有一个知识点需要注意,如果页......
  • json.load()和json.loads()
    在Python中,json.load和json.loads 分别用于从文件对象和字符串中加载JSON数据,但它们之间有一些重要的区别:1.输入类型: json.load:接受一个已经打开的文件对象作为参数,从文件中读取JSON数据。 json.loads:接受一个包含JSON数据的字符串作为参数,从字符串中加载JSON数据。2......
  • tsconfig.json文件配置
    tsconfig.json配置TypeScript使用tsconfig.json文件作为其配置文件,当一个目录中存在tsconfig.json文件,则认为该目录为TypeScript项目的根目录。基础字段files-设置要编译的文件的名称;['./src/main.tsx']include-设置需要进行编译的文件,支持路径模式匹配;['src']......
  • Java: OpenWeatherMap json Deserialization of Java Objects
    openweathermap.json{"coord":{"lon":114.0683,"lat":22.5455},"weather":[{"id":803,"main":"Clouds","description":"多云",......
  • asp.net core 使用newtonsoft完美序列化WebApi返回的ValueTuple
    https://www.cnblogs.com/kugar/p/12334210.html   由于开发功能的需要,又懒得新建太多的class,所以ValueTuple是个比较好的偷懒方法,但是,由于WebApi需要返回序列化后的json,默认的序列化只能将ValueTuple定义的各个属性序列化成Item1...n  但是微软还是良心的为序列......
  • Python 如何修改并存储 json文件内容 - json package 使用
     直接上代码:importjsondefjson_load(json_file):withopen(json_file,'r')asfh:content=json.load(fh)returncontentfh.close()defjson_save(json_file,data):withopen(json_file,'w',encoding='UTF-8')asf:......