.NET 中有两种方法进行JSON的操作分别需要引用不同的命名空间

1.System.Runtime.Serialization.Json(System.Runtime.Serialization.dll)

public class JsonHelper
{/// <summary>/// 生成Json格式/// </summary>/// <typeparam name="T"></typeparam>/// <param name="obj"></param>/// <returns></returns>public static string GetJson<T>(T obj){DataContractJsonSerializer json = new DataContractJsonSerializer(obj.GetType());using (MemoryStream stream = new MemoryStream()){json.WriteObject(stream, obj);string szJson = Encoding.UTF8.GetString(stream.ToArray()); return szJson;}}/// <summary>/// 获取Json的Model/// </summary>/// <typeparam name="T"></typeparam>/// <param name="szJson"></param>/// <returns></returns>public static T ParseFromJson<T>(string szJson){T obj = Activator.CreateInstance<T>();using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(szJson))){DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());return (T)serializer.ReadObject(ms);}}
}public class topMenu
{public string id { get; set; }public string title { get; set; }public string defaulturl { get; set; }
}

具体的操作代码

topMenu t_menu = new topMenu(){id = "1",title = "全局",defaulturl = "123456"};
List<topMenu> l_topmenu = new List<topMenu>();
for (int i = 0; i < 3; i++){l_topmenu.Add(t_menu);}
Response.Write(JsonHelper.GetJson<List<topMenu>>(l_topmenu));

输出结果为:
       [{"defaulturl":"123456","id":"1","title":"全局"},{"defaulturl":"123456","id":"1","title":"全局"},{"defaulturl":"123456","id":"1","title":"全局"}]

下面利用上面ParseFromJson方法读取Json
     输出结果为:全局

string szJson = @"{""id"":""1"",""title"":""全局"",""defaulturl"":""123456""} ";topMenu t_menu2 = JsonHelper.ParseFromJson<topMenu>(szJson);Response.Write(t_menu2.title);

2.System.Web.Script.Serialization(System.Web.Extensions.dll)

JavaScriptSerializer jss = new JavaScriptSerializer();
Response.Write( jss.Serialize(l_topmenu )); 

string szJson = @"{""id"":""1"",""title"":""全局"",""defaulturl"":""123456""} ";
topMenu toptabmenu = jss.Deserialize<topMenu>(szJson);
Response.Write( jss.Serialize(toptabmenu.title)); 

转载于:https://www.cnblogs.com/answercard/p/4916087.html

.NET中JSON的序列化和反序列化相关推荐

  1. ASP.NET中JSON的序列化和反序列化

    JSON是专门为浏览器中的网页上运行的JavaScript代码而设计的一种数据格式.在网站应用中使用JSON的场景越来越多,本文介绍ASP.NET中JSON的序列化和反序列化,主要对JSON的简单介绍 ...

  2. 一起谈.NET技术,ASP.NET 中JSON 的序列化和反序列化

    JSON是专门为浏览器中的网页上运行的JavaScript代码而设计的一种数据格式.在网站应用中使用JSON的场景越来越多,本文介绍ASP.NET中JSON的序列化和反序列化,主要对JSON的简单介绍 ...

  3. python序列化和反序列化_Python 中 json 数据序列化和反序列化

    1.Json 定义 定义:JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.JSON 的数据格式其实就是 python 里面的字典格式,里 ...

  4. c语言josn序列化和反序列化,Flutter 中 JSON 的序列化和反序列化

    前言 Flutter 中没有类似于 Java 中 Gson/Jackson 这样的 JSON 序列化库. 因为这些库都是通过反射实现的,而 Flutter 中不支持反射. 其实 Dart 是支持反射的 ...

  5. 转载:ASP.NET中JSON的序列化和反序列化

    http://www.cnblogs.com/zhaozhan/archive/2011/01/09/1931340.html http://hi.baidu.com/%B1%F9%D1%A9%D2% ...

  6. 在C#中,Json的序列化和反序列化的几种方式总结

    在C#中,Json的序列化和反序列化的几种方式总结 在这篇文章中,我们将会学到如何使用C#,来序列化对象成为Json格式的数据,以及如何反序列化Json数据到对象. 什么是JSON? JSON (Ja ...

  7. C#中的Json的序列化和反序列化

    Json是一种通用的数据格式,我们在数据交换的时候,经常会用到,下面介绍c#中的json序列化和反序列化,当然也可用在asp.net,silverlight,wpf中.我们在下面实例讲解如何进行Jso ...

  8. Newtonsoft.Json 的序列化与反序列化

    首先补充一点,Json.Net是支持序列化和反序列化DataTable,DataSet,Entity Framework和NHibernate的.我举例说明DataTable的序列化和反序列化. 创建 ...

  9. Json.Net系列教程 3.Json.Net序列化和反序列化设置

    上节补充 首先补充一点,Json.Net是支持序列化和反序列化DataTable,DataSet,Entity Framework和NHibernate的.我举例说明DataTable的序列化和反序列 ...

最新文章

  1. Asp.net MVC 3实例学习之ExtShop(五)——产品详细页
  2. 生理性玻璃体混浊的分类与预防控制
  3. 在Javascript中实现伪哈希表
  4. 华为交换机恢复出厂设置
  5. Error generating final archive: Debug Certificate expired on 的错误解决方法
  6. Leetcode-1156 Swap For Maximum Repeated Substring(单字符重复子串的最大长度)
  7. 频率和概率、平均值和期望值
  8. L1-078 吉老师的回归 (15 分)-PAT 团体程序设计天梯赛 GPLT
  9. 8_19 比赛总结 [暑假集训]
  10. DNN与微软同声传译系统背后的故事
  11. JAVA集合系列(1):集合的整体框架
  12. 计算机监控系统sacad,一套幼儿园智能化弱电CAD设计图,可以作为投标技术文件模板...
  13. BurpSuite 1.6~2.x版本汉化版工具
  14. 电子教室的功能有哪些-极域电子教室
  15. CodeForces 964A Splits
  16. 【云原生】云原生在网络安全领域的应用
  17. 数据标准化方法z-score讲解(matlab)
  18. win10系统如何格式化
  19. Web全栈开发训练营
  20. 读透《阿里巴巴数据中台实践》,其到底有什么高明之处?

热门文章

  1. ros melodic学习之plugin
  2. python写机器人程序_从Python写入机器人框架控制台
  3. 2020秋招CV面试知识点汇总
  4. php 提取二维数组的key,PHP 获取二维数组中某个key的集合
  5. 使用计算机解决问题的本质,(新教材)教科版高中信息技术必修一 2.1 计算机解决问题的过程 课件(共25张PPT)...
  6. 开发过程中常用的 dos 命令
  7. 计算机二级是要报所有科目吗,我要报考计算机等级考试二级,是全部科目都要考吗?...
  8. matlab练习程序(构造简单多边形)
  9. 创建一个对象和i++是否原子性的理解
  10. 字符串匹配KMP算法的讲解C++