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
  • 相关阅读:
    1059. Prime Factors (25)
    mybatis中resultType和resultMap的区别
    Spring Boot中使用Swagger2构建强大的RESTful API文档
    ES6之6种遍历对象属性的方法
    QQ授权登录
    nodejs爬虫入门
    nrm -- NPM registry 管理工具(附带测速功能)
    Sublime Text 3 使用MarkDown编写带预览的文本
    js中字符串函数indexOf与search的区别
    linux基础入门
  • 原文地址:https://www.cnblogs.com/yuejin/p/2742650.html
Copyright © 2011-2022 走看看