博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于对象序列化json 说说
阅读量:7220 次
发布时间:2019-06-29

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

下面一个json格式图(说一下,json 其实就是js 数组和对象的一种字符串表现形式 var obj=[] 或者var obj={}  )

var json= {} 如下

从图中看 json中有两个成员分别是 total 和 ship(而ship里面有多个对象,那么我们就知道 ship是一个List<ship>列表)

下面我们在C#中模拟输出此效果

public class JsonHelper   {       ///        /// JSON序列化       ///        public static 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; } ///
/// JSON反序列化 /// public static T JsonDeserialize
(string jsonString) { DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T)); MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)); T obj = (T)ser.ReadObject(ms); return obj; } }

//上面jsonHelp是帮助类

public class rows    {        public int itemid { get; set; }        public int productid { get; set; }        public string listprice { get; set; }        public string unitcost { get; set; }        public string status { get; set; }        public string attr1 { get; set; }           }    public class Product    {        public int total { get; set; }        public List
ship { get; set; } //列表集对像 属性 }
protected void Page_Load(object sender, EventArgs e)        {            Product prt = new Product(); //主对象            rows  r = new rows();                                 List
list_row = new List
(); //列表 list for (int i = 0; i < 3; i++) { r.itemid = i; r.productid = i; r.listprice = "ss_" + i; r.unitcost = "un_" + i; r.status = "Status" + i; r.attr1 = "atrr" + i; list_row.Add(r); } prt.total = 10; prt.ship = list_row; Response.Write(JsonHelper.JsonSerializer
(prt)); //序列化输出 }

最后昨到上面输出的json字符串

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

你可能感兴趣的文章
redis的过期策略以及内存淘汰机制
查看>>
阿牛的EOF牛肉串
查看>>
随笔2013/2/13
查看>>
笨办法32循环和列表
查看>>
java序列化
查看>>
谈谈NITE 2的第一个程序HandViewer
查看>>
VS2008 未响应 假死
查看>>
html5、css3及响应式设计入门
查看>>
Win10還原成最乾淨的狀態
查看>>
Java_InvokeAll_又返回值_多个线程同时执行,取消超时线程
查看>>
SaltStack作业
查看>>
单例设计
查看>>
springboot+缓存
查看>>
/*10个filter的属性*/ ---毛玻璃效果
查看>>
折半查找习题解答
查看>>
51单片机的P1
查看>>
[32]JSON
查看>>
3689: 异或之
查看>>
字符串模式匹配KMP算法
查看>>
Android Drawable和Bitmap图片之间转换
查看>>