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
  • 相关阅读:
    iOS AppIcon尺寸
    MBProgressHUD的基本使用
    所有界面锁定屏幕方向,某一个界面支持屏幕旋转~
    90. 64位整数乘法【快速乘模板】
    89. a^b【快速幂模板】
    237. 程序自动分析 【map+并查集】
    旅行商问题【山财新生赛E】
    HDU 2647 Reward 【拓扑排序反向建图+队列】
    HDU1285 确定比赛问题【拓扑排序+优先队列】
    日志统计 尺取法【蓝桥杯2018 C/C++ B组】
  • 原文地址:https://www.cnblogs.com/anmoon/p/1809469.html
Copyright © 2011-2022 走看看