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)
  • 相关阅读:
    P1121 环状最大两段子段和
    无题
    cdoj 1485 柱爷搞子串 sam treap
    自然数幂和
    Gym 100341C AVL Trees NTT
    线性筛分解质因子
    codeforces 366 Ant Man dp
    UVALive 6914 Maze Mayhem 轮廓线dp
    hdu 5790 Prefix 字典树 主席树
    莫比乌斯反演个人小结
  • 原文地址:https://www.cnblogs.com/myjacky/p/2205774.html
Copyright © 2011-2022 走看看