zoukankan      html  css  js  c++  java
  • netframework 4.0内置处理JSON对象

    前言

    必须的是 .netframewoke 4.0的项目才能使用。

     

    内容

    1.项目添加System.Runtime.Serialization引用。

    2.JsonHelper通用类的代码如下:

    using System;
    using System.Text;
    
    //--------------------------using
    using System.Runtime.Serialization.Json; // 添加引用(.Net 4.0) System.Runtime.Serialization
    
    /// <summary>
    /// JSON辅助类 字符<==>对象(注意:字符里属性的大小写与对象的属性大小写必须保持一致)
    /// </summary>
    public class JsonHelper
    {
    
        #region 对象类型转换为json 字符
        /// <summary>
        /// 对象类型转换为json 字符
        /// </summary>
        /// <typeparam name="T">实体类型</typeparam>
        /// <param name="jsonObject">待转换实体</param>
        /// <param name="encoding">编码格式</param>
        /// <returns>string</returns>
        public static string ObjectToJson<T>(Object jsonObject, Encoding encoding)
        {
            string result = String.Empty;
            DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
            using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
            {
                serializer.WriteObject(ms, jsonObject);
                result = encoding.GetString(ms.ToArray());
            }
            return result;
        }
        #endregion
    
        #region json字符转换为对象
        /// <summary>
        /// json字符转换为对象
        /// </summary>
        /// <typeparam name="T">实体类型</typeparam>
        /// <param name="json">json字符串</param>
        /// <param name="encoding">编码格式</param>
        /// <returns>T</returns>
        public static T JsonToObject<T>(string json, Encoding encoding)
        {
            T resultObject = Activator.CreateInstance<T>();
            DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
            using (System.IO.MemoryStream ms = new System.IO.MemoryStream(encoding.GetBytes(json)))
            {
                resultObject = (T)serializer.ReadObject(ms);
            }
            return resultObject;
        }
        #endregion
    
    }

    结束

    需要注意的是,字符里属性的大小写与对象的属性大小写,必须保持一致,才不会出现问题!

     

    关注下面二维码,订阅更多精彩内容。
    微信打赏
    关注公众号(加好友):

  • 相关阅读:
    OSI 与 TCP/IP协议簇
    交换机工作原理
    Windows搭建域环境
    网络安全散装笔记
    Python之正则匹配——RE模块
    Django框架之ORM数据库操作
    Django中ORM的优化
    python遍历文件夹下文件
    numpy.r_ c_
    python调用google map api
  • 原文地址:https://www.cnblogs.com/vipstone/p/1947407.html
Copyright © 2011-2022 走看看