码迷,mamicode.com
首页 > Windows程序 > 详细

C#处理Json字符串实例分析

时间:2017-12-14 03:18:55      阅读:274      评论:0      收藏:0      [点我收藏+]

标签:ati   抓取   适配器   generic   web应用   col   div   str   ima   

Json字符串对于做web应用的应该很熟悉,其实在很多请求我们返回的都是Json字符串。那对于C#代码如何处理Json字符串呢,.Net封装了一个类叫做JavaScriptSerializer[MSDN Library 链接

];这个类提供了一个方法。

下面这个是我在快递100往抓取的一个圆通的快递信息。对于我们有用的信息是快递时间,快递状况。那我该如何来做。


代码如下:


{“message”:”ok”,”nu”:”9356359685″,”ischeck”:”1″,”com”:”yuantong”,”status”:”200″,”condition”:”F00″,”state”:”3″,”data”:[{“time”:”2014-09-01 21:19:06″,”context”:”甘肃省武威市公司 已签收 “,”ftime”:”2014-09-01 21:19:06″},{“time”:”2014-09-01 09:09:28″,”context”:”甘肃省武威市公司 派件中 “,”ftime”:”2014-09-01 09:09:28″},{“time”:”2014-09-01 09:06:27″,”context”:”甘肃省武威市公司 已收入 “,”ftime”:”2014-09-01 09:06:27″},{“time”:”2014-08-31 19:53:47″,”context”:”甘肃省兰州市公司 已发出 “,”ftime”:”2014-08-31 19:53:47″},{“time”:”2014-08-31 19:17:41″,”context”:”甘肃省兰州市公司 已收入 “,”ftime”:”2014-08-31 19:17:41″},{“time”:”2014-08-28 23:44:26″,”context”:”广东省深圳市横岗公司 已打包 “,”ftime”:”2014-08-28 23:44:26″},{“time”:”2014-08-28 23:19:12″,”context”:”广东省深圳市横岗公司 已收件 “,”ftime”:”2014-08-28 23:19:12″},{“time”:”2014-08-28 21:55:35″,”context”:”广东省深圳市横岗公司 已收件 “,”ftime”:”2014-08-28 21:55:35″}]}

1. 首先分析Json字符串结构. Json{ message,nu,isCheck,Data{time,context,ftime}};我们先定义一个类,取名为PostalDeliveryModel,类名的结构需要与Json结构对应,名称需要保持一样[忽略大小写],其次对应的字段说会自动转换类型的,类型如果不符合会抛出异常


代码如下:


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里面名称一样。求其他大牛在评论的时候指点一下。

以上所述就是对于c#如何处理json字符串的全部内容了,希望大家能够喜欢。

除声明外,跑步客文章均为原创,转载请以链接形式标明本文地址
  C#处理Json字符串实例分析

本文地址:  http://www.paobuke.com/develop/c-develop/pbk23132.html






相关内容

C#处理Json字符串实例分析

标签:ati   抓取   适配器   generic   web应用   col   div   str   ima   

原文地址:http://www.cnblogs.com/paobuke/p/8035536.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!