• 序列化生成JSON数据 宁静以致远


    C#版

       using System.Runtime.Serialization.Json;
       using System.IO;
    
        /// <summary>
        /// C#反序列化JSON
        /// </summary>
        /// <typeparam name="T">返回类型</typeparam>
        /// <param name="jsonString">JSON字符串</param>
        /// <returns></returns>
        public static T JsonDeserialize<T>(string strJson)
        {
            DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
            MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(strJson));
            T objT = (T)ser.ReadObject(ms);
            ms.Close();
            return objT;
        }
    
        /// <summary>
        /// C#序列化JSON
        /// </summary>
        /// <typeparam name="T">序列化对象类型</typeparam>
        /// <param name="objT">序列化对象</param>
        /// <returns></returns>
        public static string JsonSerializer<T>(T objT)
        {
            DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
            MemoryStream ms = new MemoryStream();
            ser.WriteObject(ms, objT);
            string jsonString = Encoding.UTF8.GetString(ms.ToArray());
            ms.Close();
            return jsonString;
        }

    VB.NET版

        imports System.Runtime.Serialization.Json
        imports System.IO
    
        ''' <summary>
        ''' VB.NET反序列化JSON数据
        ''' </summary>
        ''' <typeparam name="T">返回类型</typeparam>
        ''' <param name="strJson">JSON字符串</param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Private Function JsonDeserialize(Of T)(ByVal strJson As String) As T
            Dim ser As New DataContractJsonSerializer(GetType(T))
            Dim ms As New MemoryStream(Encoding.UTF8.GetBytes(strJson))
            Dim objT As T = ser.ReadObject(ms)
            ms.Close()
            Return objT
        End Function
    
        ''' <summary>
        ''' VB.NET序列化生成JSON数据
        ''' </summary>
        ''' <typeparam name="T">序列化对象类型</typeparam>
        ''' <param name="objT">序列化对象</param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Private Function JsonSerializer(Of T)(ByVal objT As T) As String
            Dim ser As New DataContractJsonSerializer(GetType(T))
            Dim ms As New MemoryStream()
            ser.WriteObject(ms, objT)
            Dim strJson As String = Encoding.UTF8.GetString(ms.ToArray())
            ms.Close()
            Return strJson
        End Function

    ASPX 页面调用:

    C#版:

           Student stu = new Student(1, "小红", "");
           string str = JsonSerializer(stu);
           Student stuItem = JsonDeserialize<Student>(str);

    VB.NET版:

           Dim stu As New Student(1, "张学友", "")
           Dim str As String = JsonSerializer(stu)
           Dim itemStu As Student = JsonDeserialize(Of Student)(str)
  • 相关阅读:
    [Oracle]Oracle的闪回归档
    【zabbix】snmp监控linux主机
    XFS文件系统
    PostgreSQL的使用向导
    PostgreSQL 12 YUM安装
    011.MySQL双主多从+Keepalived配置
    010.MySQL-Keepalived搭配脚本04
    009.MySQL-Keepalived搭配脚本03
    008.MySQL-Keepalived搭配脚本02
    007.MySQL-Keepalived搭配脚本01
  • 原文地址:https://www.cnblogs.com/myjacky/p/2205774.html
Copyright © 2020-2023  润新知