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
    
    }

    结束

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

     

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

  • 相关阅读:
    jQuery初级篇
    DOM初级篇
    CSS基础篇
    javascript 初级篇
    HTML 基础篇
    Oracle文章中常用数据表的描述
    Oracle视图基础
    Oracle序列简单应用
    Oracle关联查询关于left/right join的那点事
    赋值和算术运算符
  • 原文地址:https://www.cnblogs.com/vipstone/p/1947407.html
Copyright © 2011-2022 走看看