博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
json数组的序列化和反序列化json数组的序列化和反序列化
阅读量:6240 次
发布时间:2019-06-22

本文共 2500 字,大约阅读时间需要 8 分钟。

如题,我就不多说了,自己看代码的,很好理解

using System;using System.Collections.Generic;using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.IO; using System.Text; using System.Web.Script.Serialization; using System.Runtime.Serialization.Json; ///  /// json反序列化对象 ///  public class Nature { public string name { get; set; }//属性编号 public string sex { get; set; } //分类编号 } ///  /// json反序列化对象 ///  public class Person { public string name { get; set; }//属性编号 public string sex { get; set; } //分类编号 public string age { get; set; } //分类编号 public string tel { get; set; } //分类编号 } public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //复杂的json解析 String json = "[{\"name\":\"zhangsan\",\"sex\":\"男\"},{\"name\":\"李四\",\"sex\":\"男\"},{\"name\":\"张娟\",\"sex\":\"女\"},{\"name\":\"慧娟\",\"sex\":\"女\"}]"; List
nt = Deserialize
>(json); if (nt != null && nt.Count > 0) { Response.Write("复杂的json反序列化:
"); foreach (Nature dt in nt)//打印集合中的元素 { Response.Write(dt.name+"
"); } } //简单的json解析 String json1 = "{\"name\":\"张三\",\"sex\":\"男\",\"age\":\"25\",\"tel\":\"1301554XXXX\"}"; JavaScriptSerializer js = new JavaScriptSerializer(); Person pe = js.Deserialize
(json1); Response.Write("
简单的json反序列化:" + pe.name); Response.Write("
序列化操作
"); Response.Write("
复杂对象序列化
"); List
list = new List
() { new Nature(){ name="张三", sex="男"}, new Nature(){ name="慧娟", sex="女"} }; string jsonTxt = JsonSerializer
>(list); Response.Write(jsonTxt); Response.Write("
简单对象序列化
"); Person pes = new Person(); pes.name = "姐姐"; pes.sex = "女"; pes.tel = "1301554XXXX"; pes.age = "23"; string json1Txt = JsonSerializer
(pes); Response.Write(json1Txt); } ///
/// 反序列化json数组 /// ///
对象
///
json数组 ///
public T Deserialize
(string json) { T obj = Activator.CreateInstance
(); using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json))) { DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType()); return (T)serializer.ReadObject(ms); } } ///
/// 序列化对象为json /// ///
类型
///
对象 ///
public string JsonSerializer
(T t) { DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T)); MemoryStream ms = new MemoryStream(); ser.WriteObject(ms, t); string jsonString = Encoding.UTF8.GetString(ms.ToArray()); ms.Close(); return jsonString; } }

运行图片:

 

源码:

转载地址:http://kpdia.baihongyu.com/

你可能感兴趣的文章
前端之HTML内容
查看>>
关于Datagridview控件用法的一些总结
查看>>
Mac 常用设置
查看>>
linux常用命令(22)gzip命令
查看>>
找出一个字符串中第一个只出现一次的字符
查看>>
CSS学习笔记(一)深入理解position属性和float属性
查看>>
xml入门
查看>>
python Flask框架mysql数据库配置
查看>>
[20150529]用户与用户组管理
查看>>
baidu__git_android
查看>>
ZC_源码编译真机烧写_20160424
查看>>
day26-UDP协议无粘包问题
查看>>
使用HTML5的十大原因
查看>>
转发:修饰符
查看>>
【转载】Linux下configure命令详细介绍
查看>>
图片中转站
查看>>
DSP c6678的启动方式
查看>>
【Linux】解决Android Stadio报错:error in opening zip file
查看>>
功能(一):添加影像服务图层
查看>>
选择伊始
查看>>