zoukankan      html  css  js  c++  java
  • c#3.5关于JSON简单操作的实用帮助类(泛型实现)

    ps:需要添加System.ServiceModel.Web,System.Runtime.Serialization

    代码
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Reflection;
    using System.IO;
    using System.Runtime.Serialization.Json;

    namespace DotNet.Common.Util
    {
    /// <summary>
    /// Json操作帮助类
    /// </summary>
    public static class JsonHelper
    {
    #region DataContractJsonSerializer

    /// <summary>
    /// 对象转换成json
    /// </summary>
    /// <typeparam name="T"></typeparam>
    /// <param name="jsonObject">需要格式化的对象</param>
    /// <returns>Json字符串</returns>
    public static string DataContractJsonSerialize<T>(T jsonObject)
    {
    DataContractJsonSerializer serializer
    = new DataContractJsonSerializer(typeof(T));
    string json = null;
    using (MemoryStream ms = new MemoryStream()) //定义一个stream用来存发序列化之后的内容
    {
    serializer.WriteObject(ms, jsonObject);
    json
    = Encoding.UTF8.GetString(ms.GetBuffer()); //将stream读取成一个字符串形式的数据,并且返回
    ms.Close();
    }
    return json;
    }

    /// <summary>
    /// json字符串转换成对象
    /// </summary>
    /// <typeparam name="T"></typeparam>
    /// <param name="json">要转换成对象的json字符串</param>
    /// <returns></returns>
    public static T DataContractJsonDeserialize<T>(string json)
    {
    DataContractJsonSerializer serializer
    = new DataContractJsonSerializer(typeof(T));
    T obj
    = default(T);
    using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))
    {
    obj
    = (T)serializer.ReadObject(ms);
    ms.Close();
    }
    return obj;
    }

    #endregion

    }
    }

    赋予程序生命,还我自由河山!~ --CosMosGhost
  • 相关阅读:
    Leetcode 1. Two Sum (Python)
    视觉机器学习------KNN学习
    anaconda新建虚拟环境安装各个依赖包
    Matconvnet安装
    argparse模块
    Matconvnet笔记(一)
    Ubuntu14.04下如何安装TensorFlow
    springboot2+freemarker简单使用
    mongodb安装4.0(rpm)
    检测web界面不能访问后重启
  • 原文地址:https://www.cnblogs.com/anmoon/p/1809469.html
Copyright © 2011-2022 走看看