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)
  • 相关阅读:
    iOS 多线程/GCD
    iOS推送通知的实现步骤
    Swift中文教程-学习
    设计模式——观察者模式
    SSM学习
    Servlet 学习
    java基础
    DOM中节点
    会议管理系统设计
    springboot与thymeleaf 整合
  • 原文地址:https://www.cnblogs.com/myjacky/p/2205774.html
Copyright © 2011-2022 走看看