原文出处:http://www.jb51.net/article/48027.htm

一、C#处理简单json数据

json数据:

{"result":"0","res_info":"ok","queryorder_info":"info"}

构造对象:

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 jsonstr = @{“"result"”:“”0“”,“"res_info"”:“"ok"”,“"queryorder_info"”:“"info"”}  ;                

    JavaScriptSerializer js = new JavaScriptSerializer();   //实例化一个能够序列化数据的类
    ToJsonMy list = js.Deserialize<ToJsonMy>(jsonstr);    //将json数据转化为对象类型并赋值给list
    string result = list.result;             
    string res_info = list.res_info;
    string queryorder_info = list.res_info;
}

二、C#处理包含对象的json数据

json数据:

{"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 jsonstr =@ {""result"":""0"",""res_info"":""ok"",""queryorder_info"":{""order_num"":""5"",""orderdetail"":""ok""}};
    ToJsonMy2 list = js.Deserialize<ToJsonMy2>(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数据:

{"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> 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<ToJsonMy3>(json);    //将json数据转化为对象类型并赋值给list
    string result = list.result;    
    string res_info = list.res_info;
    string order_num = list.queryorder_info.order_num;
    List<orderdetail> 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#处理3种json数据的方式的更多相关文章

  1. 8种json数据查询方式

    你有没有对“在复杂的JSON数据结构中查找匹配内容”而烦恼.这里有8种不同的方式可以做到: JsonSQL JsonSQL实现了使用SQL select语句在json数据结构中查询的功能. 例子: ? ...

  2. Request三种获取数据的方式

    今天在做ajax请求后台代码时,发现ajax的方法都对,但就是请求不了后台代码,后来在同事帮助下才发现前台定义了两个相同参数导致请求出错. 下面记录一下request三种获取数据的方式: 1. Req ...

  3. MYSQL 4种插入数据的方式比较

    4种插入数据的方式 第一种:insert into insert into是最常用的插入数据的方式,可以单条插入,也可以多条,还可以指定从其他表中select然后插入. 详细可以参考:insert语法 ...

  4. 3中转换JSON数据的方式

    一:前言 来公司一个星期,把最近做的东西梳理下,并把觉得有必要的知识点记载下,现在传数据很多都是用JSON来传数据,所以我就找了集中传json的方式,其实是有五种的,但是有一个我没有用过,太陌生了,上 ...

  5. Python格式化处理json数据的方式

    1.问题 在遇到json数据的过程中,我们经常需要获取json数据中某个值的操作,如果是用get方法去取比较繁琐,接下来介绍两种方式来取值. 2.jsonpath来格式化处理json数据 2.1介绍 ...

  6. 一起学Hive——详解四种导入数据的方式

    在使用Hive的过程中,导入数据是必不可少的步骤,不同的数据导入方式效率也不一样,本文总结Hive四种不同的数据导入方式: 从本地文件系统导入数据 从HDFS中导入数据 从其他的Hive表中导入数据 ...

  7. 【转】c#处理3种json数据的实例

    http://www.jb51.net/article/48027.htm http://json2csharp.chahuo.com/ 网络中数据传输经常是xml或者json,现在做的一个项目之前调 ...

  8. HashMap两种遍历数据的方式

    HashMap的遍历有两种方式,一种是entrySet的方式,另外一种是keySet的方式. 第一种利用entrySet的方式: Map map = new HashMap(); Iterator i ...

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

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

随机推荐

  1. SQL server 2008 数据库优化常用脚本

    --查询某个数据库的连接数 select count(*) from Master.dbo.SysProcesses where dbid=db_id() --前名其他等待类型 * from sys. ...

  2. cf1278D——树的性质+并查集+线段树/DFS判环

    昨天晚上本来想认真打一场的,,结果陪女朋友去了.. 回来之后看了看D,感觉有点思路,结果一直到现在才做出来 首先对所有线段按左端点排序,然后用并查集判所有边是否联通,即遍历每条边i,和前一条不覆盖它的 ...

  3. [bzoj3462]DZY Loves Math II (美妙数学+背包dp)

    Description Input 第一行,两个正整数 S 和 q,q 表示询问数量. 接下来 q 行,每行一个正整数 n. Output 输出共 q 行,分别为每个询问的答案. Sample Inp ...

  4. 转载:IDEA配置SVN及使用

    转自:https://blog.csdn.net/zwj1030711290/article/details/80687365 1.安装svn客户端 之前用myEcplise只需要插件,现在IDEA需 ...

  5. 2018-2019-2 网络对抗技术 20165206 Exp 9 Web安全基础

    - 2018-2019-2 网络对抗技术 20165206 Exp 9 Web安全基础 - 实验任务 本实践的目标理解常用网络攻击技术的基本原理,做不少于7个题目,共3.5分.包括(SQL,XSS,C ...

  6. 基于Springmvc的登录权限拦截器

    1.什么是拦截器 拦截器是指通过统一拦截从浏览器发往服务端的请求来完成功能的增强. 使用场景:解决请求的共性问题(如:乱码问题,权限验证问题等) 2.拦截器的基本工作原理 springmvc可以通过配 ...

  7. 全国5A级旅游景区已达250家

    至目前,全国5A级旅游景区已达250家,快来数数你去过多少? 全国5A级旅游景区 西藏(+) 拉萨市大昭寺.拉萨布达拉宫景区.日喀则扎什伦布寺景区.林芝巴松措景区 新增1:日喀则扎什伦布寺景区 扎什伦 ...

  8. error C2065: “SHELLEXECUTEINFO”: 未声明的标识符

    转自VC错误:http://www.vcerror.com/?p=1385 问题描述: error C2065: "SHELLEXECUTEINFO": 未声明的标识符 解决方法: ...

  9. Hive date_add 和 date_diff 函数

    date_add 函数 例子:date_add('day',-1,current_date) date_diff 函数 例子:date_diff('day',cast(a.dt1 as timesta ...

  10. [题解]Crazy Binary String-前缀和(2019牛客多校第三场B题)

    题目链接:https://ac.nowcoder.com/acm/contest/883/B 题意: 给你一段长度为n,且只有 ‘0’ 和 ‘1’ 组成的字符串 a[0,...,n-1].求子串中 ‘ ...