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

作者:xy_int 时间:2023-06-18 07:35:32 

本文实例讲述了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代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json

JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat

在线json压缩/转义工具:
http://tools.jb51.net/code/json_yasuo_trans

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

来源:http://blog.csdn.net/xy_int/article/details/53608857

标签:C#,String,json
0
投稿

猜你喜欢

  • Android 双击返回键退出程序的方法总结

    2023-12-05 16:41:18
  • C++实现的O(n)复杂度内查找第K大数算法示例

    2023-06-30 15:51:13
  • Java使用arthas修改日志级别详解

    2023-02-04 23:09:26
  • java如何导出insert语句并生成sql脚本

    2022-05-18 10:33:54
  • 使用Filter过滤器中访问getSession()要转化

    2022-10-01 16:20:04
  • android 通过MediaRecorder实现简单的录音示例

    2023-07-29 06:03:54
  • Java内存缓存工具Guava LoadingCache使用解析

    2023-05-25 08:36:36
  • Android编程实现图片的浏览、缩放、拖动和自动居中效果

    2021-06-04 15:01:39
  • javaSE基础如何通俗的理解javaBean是什么

    2023-09-20 00:34:13
  • C#中重载相等(==)运算符示例

    2023-01-11 15:10:36
  • springboot中的springSession的存储和获取实现

    2023-11-04 10:23:14
  • Android运动健康睡眠自定义控件的实现

    2021-07-17 22:52:35
  • @RequestBody的使用案例代码

    2021-07-11 16:46:50
  • Android组件banner实现左右滑屏效果

    2023-11-01 17:54:59
  • springboot如何读取配置文件到静态工具类

    2023-11-28 04:44:54
  • c#多线程的应用全面解析

    2023-03-03 21:15:02
  • C#中值类型和引用类型的区别深度分析

    2022-07-21 21:29:26
  • SpringBoot使用GraphQL开发Web API实现方案示例讲解

    2023-05-17 16:50:22
  • 关于Java从本地文件复制到网络文件上传

    2022-05-10 16:49:02
  • Java线程池ThreadPoolExecutor源码深入分析

    2023-11-09 19:49:36
  • asp之家 软件编程 m.aspxhome.com