C#基础---C#如何对Json字符串处理
2018-06-18 03:11:13来源:未知 阅读 ()
Json字符串对于做web应用的应该很熟悉,其实在很多请求我们返回的都是Json字符串。那对于C#代码如何处理Json字符串呢,.Net封装了一个类叫做JavaScriptSerializer[MSDN Library 链接http://msdn.microsoft.com/en-us/library/ee191864(v=vs.110).aspx];这个类提供了一个方法。
下面这个是我在快递100往抓取的一个圆通的快递信息。对于我们有用的信息是快递时间,快递状况。那我该如何来做。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace TestJson { public class PostalDeliveryModel { private string message = string.Empty; private string nu = string.Empty; private List<SingalData> data = new List<SingalData>(); // Puclic的名字需要与Json字符串相同,但是忽略大小写 public string Message { get { return this.message; } set { this.message = value; } } public string Nu { get { return this.nu; } set { this.nu = value; } } public List<SingalData> Data { get { return this.data; } set { this.data = value; } } } public class SingalData { private DateTime time = System.DateTime.Now; private string context = string.Empty; private DateTime ftime = System.DateTime.Now; public DateTime Time { get { return this.time; } set { this.time = value; } } public DateTime FTime { get { return this.ftime; } set { this.ftime = value; } } public string Context { get { return this.context; } set { this.context = value; } } } }
2.对象什么好后只需要调用方法即可:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Web.Script.Serialization; // 此命名空间对应的框架是 System.Web.Extensions namespace TestJson { public class Program { public static void Main(string[] args) { string jsonStr = new StreamReader("JsonData.txt").ReadToEnd(); PostalDeliveryModel mode = new JavaScriptSerializer().Deserialize<PostalDeliveryModel>(jsonStr); Console.ReadKey(); } } }
3.运行监控model对象.数据已经在对象里面了。
4.方法回顾,虽然获取到了。不过这种方法类的Public属性名称必须与Json字符串对应,不知道可否通过在Public属性的上面加上[标签]来映射,这样可以自定义名称,不再需要与Json里面名称一样。求其他大牛在评论的时候指点一下。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 如何0基础学习C/C++? 2020-06-06
- 复习C++语法--基础篇 2020-05-27
- C++基础 学习笔记六:复合类型之数组 2020-04-25
- C++基础 学习笔记五:重载之运算符重载 2020-04-23
- C++基础 学习笔记四:重载之函数重载 2020-04-22
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash