当前位置:  编程技术>.net/c#/asp.net

C#实现对Json字符串处理实例

    来源: 互联网  发布时间:2014-11-04

    本文导语:  本文实例讲述了C#实现对Json字符串处理方法,分享给大家供大家参考。具体分析如下: 一般对于web应用开发人员来说对Json字符串都会很熟悉,其实在很多请求我们返回的都是Json字符串。那对于C#代码如何处理Json字符串呢,.Net...

本文实例讲述了C#实现对Json字符串处理方法,分享给大家供大家参考。具体分析如下:

一般对于web应用开发人员来说对Json字符串都会很熟悉,其实在很多请求我们返回的都是Json字符串。那对于C#代码如何处理Json字符串呢,.Net封装了一个类叫做JavaScriptSerializer[MSDN Library 链接:http://msdn.microsoft.com/en-us/library/ee191864(v=vs.110).aspx];这个类提供了一个方法。

下面这个是在快递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#程序设计的学习有所帮助。


    
 
 

您可能感兴趣的文章:

  • c#通过委托delegate与Dictionary实现action选择器代码举例
  • C#实现获取枚举中元素个数的方法
  • C#实现自定义双击事件
  • C#键盘输入回车键实现点击按钮效果的方法
  • C#实现获取一年中是第几个星期的方法
  • C#实现Datatable排序的方法
  • C#实现装箱与拆箱操作简单实例
  • 解决C#中WebBrowser的DocumentCompleted事件不执行的实现方法
  • C#下实现创建和删除目录的实例代码
  • 使用C#实现在屏幕上画图效果的代码实例
  • c#实现TextBox只允许输入数字
  • C# Winform 整个窗口拖动的实现代码
  • c# ListView实现双击Item事件的变通方法
  • C#实现过滤html标签并保留a标签的方法
  • C#实现随鼠标移动窗体实例
  • C#中的FileUpload 选择后的预览效果具体实现
  • C# 窗体隐藏及任务管理器中禁止关闭的实现代码
  • C#格式化文件大小的实现代码
  • C#怎样才能实现窗体最小化到托盘呢?
  • C# char类型字符转换大小写的实现代码
  • C#的锯齿数组以及C++实现代码
  • C#/.NET字符串加密和解密实现(AES和RSA代码举例)
  • php通过数组实现多条件查询实现方法(字符串分割)
  • java实现判断字符串是否全是数字的四种方法代码举例
  • 如何用shell实现将指定文件中的指定的字符串替换为我指定的另外的字符串
  • Linux下C语言strstr()查找子字符串位置函数详细介绍(strstr原型、实现及用法)
  • 请问高手linux中用md5来实现一串字符串的加密,用c++/c实现
  • c++ 连接两个字符串实现代码 实现类似strcat功能
  • 在SQL中获取一个长字符串中某个字符串出现次数的实现方法
  • 在JAVA中如何实现在一个长字符串查找某个字符串??
  • C语言实现输入一个字符串后打印出该字符串中字符的所有排列
  •  
    本站(WWW.169IT.COM)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.169IT.COM)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 用脚本能实现在对某个文件里的特定字符用其它特定字符替吗?该怎么写?
  • 请问从屏幕上输入字符时,能显示别人看不出的原字符,也就是怎么实现加密。这程序该怎么写,谢谢。
  • 怎样实现利用fprintf,输出定长字串,位数不足时在左侧填入指定字符填充。。
  • linux下怎么实现在屏幕上指定地方输出字符?
  • bash shell 如何实现删除文件中的各行字符呢?
  • 简单的用js实现过滤多余字符的正则表达式
  • 标准C下没有字符处理函数,怎样写一个实现下面功能的函数?
  • 请问在shell如何实现字符串子串运算
  • 怎样实现从服务器发串字符到客户端
  • 在线等!如何用bash实现:在一个文件中查找某个字符串,只保留该字符串的第一次出现,剩下的全部删除?
  • shell脚本实现计算包含某字符的行占的比例
  • shell 编程:如何实现一个一个字符的读文件
  • 如何编个shell,实现搜索当前目录和子目录的文件中包含指定字符的功能!!
  • 删掉给定字段的后8个字符,怎么实现最快?
  • 为什么用absolute()方法实现的分页显示取出的字符数据都是16进制的呢?
  • 如何把一个ASC码转换为相应的字符,怎么实现
  • VIM中如何实现选中带有特定字符串的行?
  • C#实现中英文混合字符串截取的方法
  • 如何实现将表单内容存进一个字符串数组变量?
  • C#中判断字符串是全角还是半角的实现代码
  • 通过javascript实现DIV居中,兼容各浏览器版本
  • socket实现多文件并发传输,求助多线程实现问题?
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • windows 下的PortTunnel 在linux下怎么实现?或者相应的已经实现的软件?端口映射
  • 通过javascript库JQuery实现页面跳转功能代码
  • 网站重定向用C语言实现iptables,ACL实现
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • interface 到底有什么用???实现接口,怎么实现??
  • php实现socket实现客户端和服务端数据通信源代码
  • 怎么用Jsp实现在页面实现树型结构?
  • flash AS3反射实现(describeType和getDefinitionByName)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2017,169IT.COM,E-mail:www_169it_com#163.com(请将#改为@)

    浙ICP备11055608号