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)
  • 相关阅读:
    1-13Object类之toString方法
    jvm源码解读--16 锁_开头
    jvm源码解读--16 cas 用法解析
    jvm源码解读--15 oop对象详解
    jvm源码解读--14 defNewGeneration.cpp gc标记复制之后,进行空间清理
    jvm源码解读--13 gc_root中的栈中oop的mark 和copy 过程分析
    Error: Could not find or load main class ***
    使用javah 给.class类编译jni_helloworld.h文件头
    jvm源码解读--12 invokspecial指令的解读
    jvm源码解读--11 ldc指令的解读
  • 原文地址:https://www.cnblogs.com/myjacky/p/2205774.html
Copyright © 2011-2022 走看看