zoukankan      html  css  js  c++  java
  • 序列化JsonNewtonsoft.Json

    C#中json数据的处理,把模型中的数据序列化为json

    首先在项目中引用Newtonsoft.Json.dll

    其下载地址和性能比较以及详情请查看:http://json.codeplex.com/

    示例代码:

    先建两个模型,以用在demo中

     1         public class xModle
     2         {
     3             public int xID { get; set; }
     4             public string xName { get; set; }
     5         }
     6 
     7         public class xJsonModel {
     8             public int xCount { get; set; }
     9             public List<xModle> xmodel { get; set; }
    10         }

    demo1:

    1         public string JsonSerialize()
    2         {
    3             xModle item = new xModle { xID = 100, xName = "TestName" };
    4             string JsonStr = JsonConvert.SerializeObject(item);
    5             return JsonStr;
    6         }

    结果为:

    {"xID":100,"xName":"TestName"}

    demo2:

     1         public string JsonSerializeList()
     2         {
     3             xModle item1 = new xModle { xID = 100, xName = "TestName1" };
     4             xModle item2 = new xModle { xID = 200, xName = "TestName2" };
     5             string JsonStr = JsonConvert.SerializeObject(new[] { item1, item2 });
     6             //也可以用下面代码
     7             //List<xModle> list = new List<xModle>();
     8             //list.Add(item1);
     9             //list.Add(item2);
    10             //string JsonStr = JsonConvert.SerializeObject(list);
    11             return JsonStr;
    12         }

    结果为:

    [{"xID":100,"xName":"TestName1"},{"xID":200,"xName":"TestName2"}]

    demo3:

     1         public string JsonSerializeMore()
     2         {            
     3             xModle item1 = new xModle { xID = 100, xName = "TestName1" };
     4             xModle item2 = new xModle { xID = 200, xName = "TestName2" };
     5             List<xModle> list = new List<xModle>();
     6             list.Add(item1);
     7             list.Add(item2);
     8             xJsonModel xItem = new xJsonModel();
     9             xItem.xCount = list.Count;
    10             xItem.xmodel = list;
    11             string JsonStr = JsonConvert.SerializeObject(xItem);
    12             return JsonStr;
    13         }

    结果为:

    {"xCount":2,"xmodel":[{"xID":100,"xName":"TestName1"},{"xID":200,"xName":"TestName2"}]}


     反序列话就更简单了:如把上面这个结果反序列化

    1             var x = JsonConvert.DeserializeObject<xJsonModel>(JsonStr);
    2             return x.xmodel.FirstOrDefault().xName;//结果为TestName1
  • 相关阅读:
    结构体字节对齐
    ORACLE自增长字段实现
    Oracle 11.2.0.2新特性——用户重命名(Rename User)
    oracle expdp/impdp 用法详解
    sql语句面试题(城市人口统计) .
    ORA30553: 函数不确定!
    SQL Express自动备份 .
    SQL 2005的DES加密算法
    SQL 2005加密数据方法
    CREATE VIEW ORA01031
  • 原文地址:https://www.cnblogs.com/yuejin/p/2742650.html
Copyright © 2011-2022 走看看