netframework 4.0内置处理JSON对象

简介: 前言 必须的是 .netframewoke 4.0的项目才能使用。   内容 1.项目添加System.Runtime.Serialization引用。 2.JsonHelper通用类的代码如下: using System; using System.

前言

必须的是 .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

}

 

结束

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

 

 

 

 

img_fa0be433d68c8212b2b0b3b1a564ccb1.png
如果本文对你有所帮助,请打赏——1元就足够感动我:)
支付宝打赏 微信打赏
联系邮箱:intdb@qq.com
我的GitHub: https://github.com/vipstone
关注公众号: img_9bde0f31ac4a0eca10b1bd7414b78faf.png


作者: 王磊
出处: http://vipstone.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,请标明出处。

相关文章
|
4月前
【Azure Durable Function】PowerShell Activity 函数遇见 Newtonsoft.Json.JsonReaderException: The reader's MaxDepth of 64 has been exceeded.
【Azure Durable Function】PowerShell Activity 函数遇见 Newtonsoft.Json.JsonReaderException: The reader's MaxDepth of 64 has been exceeded.
|
7月前
|
存储 XML JSON
Unity 数据读取|(三)ini文件解析(INIParser,StreamReader,System.Runtime.InteropServices)
Unity 数据读取|(三)ini文件解析(INIParser,StreamReader,System.Runtime.InteropServices)
|
C#
利用ICSharpCode.SharpZipLib.dll解析 出错:“Wrong Local header signature: 0xFF8”
## 分析原因 利用ICSharpCode.SharpZipLib.dll解析APK时,进入APK的AndroidXml获取时出现报错 ## 出错代码 ```csharp using (ICSharpCode.SharpZipLib.Zip.ZipInputStream zip = new ICSharpCode.SharpZipLib.Zip.ZipInputStream(File.OpenRead(path))) { using (var filestream = new FileStream(path, FileMode.Open, FileAccess.Read)) {
147 1
|
C# Windows
ICSharpCode.SharpZipLib.Zip 解析时报错System.NotSupportedException: No data is available for encoding 936
​ 分析原因 利用ICSharpCode.SharpZipLib.Zip进行APK解析时,因为APK内编译的名称为中文,查询微软开发文档936为gb2312中文编码 [微软开发文档地址](https://docs.microsoft.com/zh-cn/windows/win32/intl/code-page-identifiers "微软开发文档地址") ```csharp // 错误代码 using (ZipInputStream zip = new ZipInputStream(File.OpenRead(path))) { using (var filestream = new
117 0
ICSharpCode.SharpZipLib.Zip 解析时报错System.NotSupportedException: No data is available for encoding 936
|
JSON 数据格式
win10 uwp json
原文:win10 uwp json 本文讲的是关于在uwp使用json的简单使用,json应用很多,因为我只是写简单使用,说的东西可能不对或者不符合每个人的预期。
1194 0
|
.NET 开发框架
asp adodb.stream读取文件和写文件
读取文件操作: '------------------------------------------------- '函数名称:ReadTextFile '作用:利用AdoDb.Stream对象来读取UTF-8格式的文本文件 '-------------------------...
1099 0
|
JSON 编解码 .NET
ASP.NET 复杂JSON字符串反序列化操作
在MIS系统开发中,有时需要在主页顶部显示天气信息,本篇经验将和大家介绍一下实现过程。 1、一个可以获取各个城市天气预报情况的网站: http://wthrcdn.
954 0