zoukankan      html  css  js  c++  java
  • 序列化生成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)
  • 相关阅读:
    linux权限补充:rwt rwT rws rwS 特殊权限
    关于Linux操作系统下文件特殊权限的解释
    Java学习笔记——Java程序运行超时后退出或进行其他操作的实现
    Java实现 蓝桥杯 算法提高 判断名次
    Java实现 蓝桥杯 算法提高 判断名次
    Java实现 蓝桥杯 算法提高 日期计算
    Java实现 蓝桥杯 算法提高 日期计算
    Java实现 蓝桥杯 算法提高 概率计算
    Java实现 蓝桥杯 算法提高 概率计算
    Java实现 蓝桥杯 算法提高 复数四则运算
  • 原文地址:https://www.cnblogs.com/myjacky/p/2205774.html
Copyright © 2011-2022 走看看