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

c#处理3种json数据的实例

    来源: 互联网  发布时间:2014-10-29

    本文导语:  网络中数据传输经常是xml或者json,现在做的一个项目之前调其他系统接口都是返回的xml格式,刚刚遇到一个返回json格式数据的接口,通过例子由易到难总结一下处理过程,希望能帮到和我一样开始不会的朋友。一、C#处理简单...

网络中数据传输经常是xml或者json,现在做的一个项目之前调其他系统接口都是返回的xml格式,刚刚遇到一个返回json格式数据的接口,通过例子由易到难总结一下处理过程,希望能帮到和我一样开始不会的朋友。
一、C#处理简单json数据
json数据:

代码如下:
{"result":"0","res_info":"ok","queryorder_info":"info"}

我这里是以jsonmy1.txt文件的形式保存在d盘json文件夹下。

构造对象:
代码如下:

 public struct ToJsonMy
 {
    public string result { get; set; }  //属性的名字,必须与json格式字符串中的"key"值一样。
    public string res_info { get; set; }
    public string queryorder_info { get; set; }  
 }

转换过程:
代码如下:
public static void JsonMy()
{
    string json = Jsonstr("D:\json\jsonmy1.txt");//Jsonstr函数读取json数据的文本txt                
    JavaScriptSerializer js = new JavaScriptSerializer();   //实例化一个能够序列化数据的类
    ToJsonMy list = js.Deserialize(json);    //将json数据转化为对象类型并赋值给list
    string result = list.result;             
    string res_info = list.res_info;
    string queryorder_info = list.res_info;
}

二、C#处理包含对象的json数据
json数据:jsonmy2.txt
代码如下:
{"result":"0","res_info":"ok","queryorder_info":{"order_num":"5","orderdetail":"ok"}}

构造对象:
代码如下:

public struct ToJsonMy2
{
    public string result { get; set; } 
    public string res_info { get; set; }
    public queryorder_info queryorder_info;
}
public struct queryorder_info
{
    public string order_num { get; set; }
    public string orderdetail { get; set; }
};

转换过程:
代码如下:
public static void JsonMy2()
{
    string json = Jsonstr("D:\json\jsonmy2.txt");
    JavaScriptSerializer js = new JavaScriptSerializer();   //实例化一个能够序列化数据的类
    ToJsonMy2 list = js.Deserialize(json);    //将json数据转化为对象类型并赋值给list
    string result = list.result;   
    string res_info = list.res_info;
    string order_num = list.queryorder_info.order_num;
    string orderdetail = list.queryorder_info.orderdetail;
}

三、C#处理包含对象、数组的json数据
json数据:jsonmy4.txt
代码如下:
{"result":"0","res_info":"ok","queryorder_info":{"order_num":"5","orderdetail":[{"CFTUin":"769839263","CancelDeadline":"2013-09-12 23:00:00","CheckInDate":"2013-09-12 00:00:00","CheckOutDate":"2013-09-13 00:00:00","CityID":"0101","CurrencyCode":"RMB","HotelID":"00301105","HotelName":"乐家连锁(北京天坛南门店)(原速8酒店(北京天坛南门店)","ListID":"1000000005201308280002999652","PayAmt":"228","PayType":"0","RommsCnt":"1","SPTransID":"65202157","State":"4"},{"CFTUin":"248486133","CancelDeadline":"2013-10-13 23:00:00","CheckInDate":"2013-10-13 00:00:00","CheckOutDate":"2013-10-18 00:00:00","CityID":"0201","CurrencyCode":"RMB","HotelID":"10201314","HotelName":"上海凯顿酒店","ListID":"1000000005201308280002999413","PayAmt":"1140","PayType":"0","RommsCnt":"1","SPTransID":"65197226","State":"4"}]}}

构造对象:
代码如下:
public struct ToJsonMy3
{
    public string result { get; set; }
    public string res_info { get; set; }
    public queryorder_info queryorder_info;
}
public struct queryorder_info
{
    public string order_num { get; set; }
    public List orderdetail;//数组处理      
};
public struct orderdetail
{
    public string CFTUin { get; set; }
    public string CancelDeadline { get; set; }
    public string CheckInDate { get; set; }
    public string CheckOutDate { get; set; }
    public string CityID { get; set; }
    public string CurrencyCode { get; set; }
    public string HotelID { get; set; }
    public string HotelName { get; set; }
    public string ListID { get; set; }
    public string PayAmt { get; set; }
    public string PayType { get; set; }
    public string RommsCnt { get; set; }
    public string SPTransID { get; set; }
    public string State { get; set; }
};

转换过程:

代码如下:
public static void JsonMy4()
{
    string json = Jsonstr("D:\json\jsonmy4.txt");
    JavaScriptSerializer js = new JavaScriptSerializer();   //实例化一个能够序列化数据的类
    ToJsonMy3 list = js.Deserialize(json);    //将json数据转化为对象类型并赋值给list
    string result = list.result;    
    string res_info = list.res_info;
    string order_num = list.queryorder_info.order_num;
    List orderdetail = list.queryorder_info.orderdetail;
    string CFTUin = orderdetail[0].CFTUin;
    string HotelName = orderdetail[0].HotelName;
    string ListID = orderdetail[1].ListID;
    string State = orderdetail[2].State;
}

 


    
 
 

您可能感兴趣的文章:

  • C# 执行bat批处理文件的小例子
  • c# URL参数传递时包含“&”符号的处理方法
  • C#事件处理和委托event delegate实例简述
  • c# 调用批处理(bat)的实现代码
  • C# WinForm窗体编程中处理数字的正确操作方法
  • C#中执行批处理文件(*.bat)的方法代码
  • C#控制台程序中处理2个关闭事件的代码实例
  • C#事务处理(Execute Transaction)实例解析
  • c#异常处理示例分享
  • c#实现sqlserver事务处理示例
  • C# datatable 不能通过已删除的行访问该行的信息处理方法
  • C#异常处理的一些经验和技巧
  • C#异常处理详解
  • C# Socket粘包处理讲解示例
  • C# WinForm捕获未处理的异常实例解析
  • c# 批处理调用方法(实例)
  • C# 批处理调用方法
  • C#处理JPEG头信息的方法
  • c#图片处理之图片裁剪成不规则图形
  • C# 事件处理学习心得
  • Python 3 Tkinter教程之事件Event绑定处理代码实例
  • Python 时间处理datetime实例
  • C语言二维数组的处理实例
  • JS异常处理try..catch语句的作用和实例
  • PHP按行读取、处理较大CSV文件的代码实例
  • php事务处理实例详解
  • PHP处理SQL脚本文件导入到MySQL的代码实例
  • C++的try块与异常处理及调试技术实例解析
  • Android应用中Back键的监听及处理实例
  • Python getopt模块处理命令行选项实例
  • Android通过手势实现的缩放处理实例代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 怎样将数据库中的数据导到C 的数组中?对其进行处理
  • 通过JDBC连接数据库,执行抄作后,关闭了连接,数据服务器端的进程还在,怎麽处理?
  • UNIX下面能否使用类似BCP的程序连接另一台UNIX下面的Sybase数据库进行数据处理
  • 关于数据的格式处理
  • Hadoop 的数据处理解决方案 Cascalog
  • 并行地震数据处理软件 Pseis-OSS
  • Shell处理数据的唯一性问题
  • 请教各位:关于linux处理从网卡接受到的数据包
  • 高性能数据持续处理引擎 Torrus
  • Hadoop集群数据处理API Cascading
  • 请教linux下数据包的处理流程
  • 数据管理和处理工具 dianping puma
  • 请问发送数据成功后返回的ack是在内核的什么地方处理的?
  • MSSQL附加数据库拒绝访问提示5120错误的处理方法
  • 音频和视频数据处理库 Gavl
  • Facebook大量数据处理 Scribe
  • **java适合做数据处理吗?**
  • PB级海量数据处理系统 Maxtable
  • Web数据展现与处理的组件 DJFocus
  • 数据集成、处理分析和勘探平台 KNIME
  • c/c++预处理命令预#error介绍
  • 关于linux内核中信号处理的问题?(信号处理的时间)
  • c/c++预处理命令预#undef介绍
  • 如何让批处理文件执行完毕后窗口不关闭,批处理文件直接点击执行
  • c/c++预处理命令预#pragma介绍
  • 视频处理问题,用批处理对视频进行打码
  • c/c++预处理命令预#line介绍
  • 请问如何在unix批处理中得到批处理参数!read吗?急在线等待!
  • c/c++预处理命令预#include介绍
  • 在linux上怎么编写一个模块来提供某个中断的中断处理程序呢?而且有哪些中断可以自己添加中断处理程序呢?
  • c/c++预处理命令预#,##使用介绍


  • 站内导航:


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

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3