仙居县建设规划局网站,做投票链接的网站,乐清 做网站 多少钱,代理公司注册协议书网络中数据传输经常是xml或者json#xff0c;现在做的一个项目之前调其他系统接口都是返回的xml格式#xff0c;刚刚遇到一个返回json格式数据的接口#xff0c;通过例子由易到难总结一下处理过程#xff0c;希望能帮到和我一样开始不会的朋友。一、C#处理简单json数据json…网络中数据传输经常是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.DeserializeToJsonMy(json); //将json数据转化为对象类型并赋值给liststring 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.DeserializeToJsonMy2(json); //将json数据转化为对象类型并赋值给liststring 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 Listorderdetail 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.DeserializeToJsonMy3(json); //将json数据转化为对象类型并赋值给liststring result list.result; string res_info list.res_info;string order_num list.queryorder_info.order_num;Listorderdetail 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;
} 以上代码来自http://www.jb51.net/article/48027.htm 在项目中也遇到了使用JSON的情况就把转化过程写一下。 1.从数据库获取的json数据为 [{ACTIONVALUE:-1,CONTENT:,DEVID:30000449636001,DEVNAME:#1空调,DEVTYPE:46,EVENTTYPE:,GRIDCODE:,ISAUTO:false,MEASURENAME:通用.低风,MEASURETAG:GEN.CtrlLowWind,STREAMTYPE:null,TIMESPAN:},{ACTIONVALUE:0,CONTENT:,DEVID:30000449660712,DEVNAME:#1风机,DEVTYPE:56,EVENTTYPE:,GRIDCODE:,ISAUTO:false,MEASURENAME:风机开关,MEASURETAG:GEN.UnibitCtrl,STREAMTYPE:null,TIMESPAN:},{ACTIONVALUE:1,CONTENT:,DEVID:30000449660710,DEVNAME:#1警笛,DEVTYPE:57,EVENTTYPE:,GRIDCODE:,ISAUTO:false,MEASURENAME:警笛开关,MEASURETAG:GEN.UnibitCtrl,STREAMTYPE:null,TIMESPAN:},{ACTIONVALUE:1,CONTENT:,DEVID:30000449660708,DEVNAME:#1灯光,DEVTYPE:45,EVENTTYPE:,GRIDCODE:,ISAUTO:true,MEASURENAME:灯光开光,MEASURETAG:GEN.UnibitCtrl,STREAMTYPE:null,TIMESPAN:},{ACTIONVALUE:66,CONTENT:,DEVID:30000449667767,DEVNAME:hik1,DEVTYPE:49,EVENTTYPE:,GRIDCODE:110100000103010001,ISAUTO:true,MEASURENAME:,MEASURETAG:GEN.PreSet,STREAMTYPE:150,TIMESPAN:},{ACTIONVALUE:-1,CONTENT:,DEVID:30000449667767,DEVNAME:hik1,DEVTYPE:49,EVENTTYPE:,GRIDCODE:110100000103010001,ISAUTO:true,MEASURENAME:,MEASURETAG:GEN.VideoRecord,STREAMTYPE:150,TIMESPAN:}] 2.构造实体对象 public class ActionParam{//[{ACTIONVALUE:1,CONTENT:,DEVID:30000449660708,DEVNAME:#1灯光,DEVTYPE:45,EVENTTYPE:,GRIDCODE:,ISAUTO:true,MEASURENAME:灯光开光,MEASURETAG:GEN.UnibitCtrl,STREAMTYPE:null,TIMESPAN:}]public int ACTIONVALUE { get; set; }public string CONTENT { get; set; }public string DEVID { get; set; }public string DEVNAME { get; set; }public string DEVTYPE { get; set; }public string EVENTTYPE { get; set; }public string GRIDCODE { get; set; }public bool ISAUTO { get; set; }public string MEASURENAME { get; set; }public string MEASURETAG { get; set; }public string STREAMTYPE { get; set; }public string TIMESPAN { get; set; }} 3.转化为C#中声明的数据格式 JavaScriptSerializer js new JavaScriptSerializer(); //实例化一个能够序列化数据的类ListActionParam listDetail js.DeserializeListActionParam(actionParam); 以为json字符串是数组格式所以js.DeserializeT()泛型中使用ListActionParam. 转载于:https://www.cnblogs.com/zhangyuanbo12358/p/5590194.html