欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#实现String类型和json之间的相互转换功能示例

程序员文章站 2023-12-16 20:17:22
本文实例讲述了c#实现string类型和json之间的相互转换功能。分享给大家供大家参考,具体如下: ////donet2.0 需要添加引用 // 从一个对象信...

本文实例讲述了c#实现string类型和json之间的相互转换功能。分享给大家供大家参考,具体如下:

////donet2.0 需要添加引用
// 从一个对象信息生成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);
    }
  }
}

ps:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:

在线json代码检验、检验、美化、格式化工具:

json在线格式化工具:

在线xml/json互相转换工具:

json代码在线格式化/美化/压缩/编辑/转换工具:

在线json压缩/转义工具:

更多关于c#相关内容还可查看本站专题:《c#字符串操作技巧总结》、《c#常见控件用法教程》、《winform控件用法总结》、《c#程序设计之线程使用技巧总结》、《c#中xml文件操作技巧汇总》、《c#数据结构与算法教程》、《c#数组操作技巧总结》及《c#面向对象程序设计入门教程

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

上一篇:

下一篇: