Fork me on GitHub

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

}
复制代码

 

结束

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

 

 

 

 

posted @   磊哥|www.javacn.site  阅读(1788)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
阅读排行:
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验
点击右上角即可分享
微信分享提示