C#编程实现对象与JSON串互相转换实例分析

 更新时间:2015年11月16日 09:46:43   作者:Jan.David  
这篇文章主要介绍了C#编程实现对象与JSON串互相转换的方法,结合实例分析了在DoNet2.0与Donet3.5环境下实现对象与JSON转换的相关技巧,需要的朋友可以参考下

本文实例分析了C#编程实现对象与JSON串互相转换的方法。分享给大家供大家参考,具体如下:

DoNet2.0 需要借助于Newtonsoft.Json.dll

代码如下:

using System;
using System.IO;
using System.Text;
using Newtonsoft.Json;
namespace OfflineAcceptControl.UCTools
{
  public class JsonTools
  {
    // 从一个对象信息生成Json串
    public static string ObjectToJson(object obj)
    {
      return JavaScriptConvert.SerializeObject(obj);
    }
    // 从一个Json串生成对象信息
    public static object JsonToObject(string jsonString, object obj)
    {
      return JavaScriptConvert.DeserializeObject(jsonString, obj.GetType());
    }
  }
}

Donet3.5自带了DLL处理json串

注意引用:System.Runtime.Serialization,System.ServiceModel.Web

代码如下:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
namespace CrjIIOfflineAccept.CrjIITools
{
  public class JsonTools
  {
    // 从一个对象信息生成Json串
    public static string ObjectToJson(object obj)
    {
      DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
      MemoryStream stream = new MemoryStream();
      serializer.WriteObject(stream, obj);
      byte[] dataBytes = new byte[stream.Length];
      stream.Position = 0;
      stream.Read(dataBytes, 0, (int)stream.Length);
      return Encoding.UTF8.GetString(dataBytes);
    }
    // 从一个Json串生成对象信息
    public static object JsonToObject(string jsonString, object obj)
    {
      DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
      MemoryStream mStream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
      return serializer.ReadObject(mStream);
    }
  }
}

希望本文所述对大家C#程序设计有所帮助。

相关文章

  • C#中datagridview使用tooltip控件显示单元格内容的方法

    C#中datagridview使用tooltip控件显示单元格内容的方法

    这篇文章主要介绍了C#中datagridview使用tooltip控件显示单元格内容的方法,实例分析了C#控件的相关使用技巧,需要的朋友可以参考下
    2016-06-06
  • C#中Shear的用法实例

    C#中Shear的用法实例

    这篇文章主要介绍了C#中Shear的用法,实例分析了C#中使用Matrix实现Shear剪切变换的相关技巧,需要的朋友可以参考下
    2015-06-06
  • C#枚举类型与结构类型实例解析

    C#枚举类型与结构类型实例解析

    这篇文章主要介绍了C#枚举类型与结构类型实例,需要的朋友可以参考下
    2014-07-07
  • C#实现DataGridView控件行列互换的方法

    C#实现DataGridView控件行列互换的方法

    这篇文章主要介绍了C#实现DataGridView控件行列互换的方法,涉及C#中DataGridView控件元素遍历与添加操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • C#并发编程之async和await关键字详解

    C#并发编程之async和await关键字详解

    对于 async 和 await 两个关键字,对于一线开发人员再熟悉不过了,到处都是它们的身影,下面小编就来和大家记录汇总下它们的使用吧
    2023-07-07
  • C#使用AutoMapper进行对象映射的示例代码

    C#使用AutoMapper进行对象映射的示例代码

    AutoMapper 是一个对象到对象映射的库,可以简化 DTO (Data Transfer Objects) 和实体类之间的转换,在大型应用程序中,通常需要将业务实体映射到视图模型或 DTO 中,本文将详细介绍如何在 C# 项目中使用 AutoMapper,包括安装、配置、以及示例代码
    2024-08-08
  • 在C#中global关键字的作用及其用法

    在C#中global关键字的作用及其用法

    global 是 C# 2.0 中新增的关键字,理论上说,如果代码写得好的话,根本不需要用到它,但是不排除一些特别的情况,比如修改别人的代码,本文仅举例说明。
    2016-03-03
  • 浅谈C# winForm 窗体闪烁的问题

    浅谈C# winForm 窗体闪烁的问题

    下面小编就为大家带来一篇浅谈C# winForm 窗体闪烁的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • C#由当前日期计算相应的周一和周日的实例代码

    C#由当前日期计算相应的周一和周日的实例代码

    这篇文章介绍了C#由当前日期计算相应的周一和周日的实例代码,有需要的朋友可以参考一下
    2013-09-09
  • 浅析C# 基础语法的使用

    浅析C# 基础语法的使用

    本篇文章对C#中基础语法的使用。进行了详细的分析介绍。需要的朋友参考下
    2013-05-05

最新评论