本文实例讲述了C#实现String类型和json之间的相互转换功能。分享给大家供大家参考,具体如下: ////Donet2.0 需要添加引用// 从一个对象信息生成Json串public static string ObjectToJson(object obj)
本文实例讲述了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#相关内容还可查看本站专题:《C#字符串操作技巧总结》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#程序设计之线程使用技巧总结》、《C#中XML文件操作技巧汇总》、《C#数据结构与算法教程》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程》
希望本文所述对大家C#程序设计有所帮助。