当前位置:文档之家› C#Json转Datatable=Json解析实例

C#Json转Datatable=Json解析实例

using System;using System.Collections.Generic; using System.Linq;using System.Text;using System.Threading.Tasks;namespace jsonHelp{///<summary>/// json解析对应实体类///</summary>publicclass appJson{publicstring success { get; set; } public Result result { get; set; } }publicclass Result{publicstring result { get; set; }publicstring message { get; set; }publicstring qrCode { get; set; }public OrderList[] orderList { get; set; }public MealList[] mealList { get; set; }}publicclass OrderList{publicstring orderId { get; set; }publicstring storeId { get; set; }publicstring mealName { get; set; }publicstring mealId { get; set; }publicstring bookingTime { get; set; } publicstring quantity { get; set; }publicstring price { get; set; }publicstring status { get; set; }}publicclass MealList{publicstring mealId { get; set; }publicstring assignedDiningStoreId { get; set; } publicstring mealName { get; set; }publicstring price { get; set; }publicstring canSale { get; set; }}}using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;using System.IO;namespace jsonHelp{publicclass jsonHelp{///<summary>///将对象序列化为JSON格式///</summary>///<param name="o">对象</param>///<returns>json字符串</returns>publicstaticstring SerializeObject(object o){string json = JsonConvert.SerializeObject(o);return json;}///<summary>///解析JSON字符串生成对象实体///</summary>///<typeparam name="T">对象类型</typeparam>///<param name="json">json字符串(eg.{"ID":"112","Name":"石子儿"})</param>///<returns>对象实体</returns>publicstatic T DeserializeJsonToObject<T>(string json) where T : class{JsonSerializer serializer = new JsonSerializer();StringReader sr = new StringReader(json);object o = serializer.Deserialize(new JsonTextReader(sr), typeof(T));T t = o as T;return t;}///<summary>///解析JSON数组生成对象实体集合///</summary>///<typeparam name="T">对象类型</typeparam>///<param name="json">json数组字符串(eg.[{"ID":"112","Name":"石子儿"}])</param> ///<returns>对象实体集合</returns>publicstatic List<T> DeserializeJsonToList<T>(string json) where T : class{JsonSerializer serializer = new JsonSerializer();StringReader sr = new StringReader(json);object o = serializer.Deserialize(new JsonTextReader(sr), typeof(List<T>));List<T> list = o as List<T>;return list;}///<summary>///反序列化JSON到给定的匿名对象.///</summary>///<typeparam name="T">匿名对象类型</typeparam>///<param name="json">json字符串</param>///<param name="anonymousTypeObject">匿名对象</param>///<returns>匿名对象</returns>publicstatic T DeserializeAnonymousType<T>(string json, T anonymousTypeObject) {T t = JsonConvert.DeserializeAnonymousType(json, anonymousTypeObject);return t;}}}using System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Text;using System.Threading.Tasks;namespace jsonHelp{class Program{staticvoid Main(string[] args){//josn 转换成实体类测试string json = "{\"success\":true,\"result\":{\"result\":0,\"message\":\"获取成功!\",\"mealList\":[{\"mealId\":\"00000318\",\"mealName\":\"红烧牛腩饭\",\"diningId\":1,\"assignedDiningStoreId\":\"0401\",\"assignedDiningName\":nul l,\"price\":45.0,\"discount\":0.0,\"mealInstro\":\"红烧牛腩饭\",\"canSale\":false,\"saleStartTime\":\"2015-09-17T13:26:54.403\",\"saleEndTime\":\"2015-09-17T13:26:54.403\",\"canBooking\":false,\"bookingTime\":null,\"mod ifyBy\":0,\"modifyTime\":\"2015-09-17T13:26:54.403\",\"inputBy\":0,\"inputTime\ ":\"2015-09-17T13:26:54.403\",\"isDelete\":false,\"id\":29},{\"mealId\":\"00000 319\",\"mealName\":\"豉汁排骨饭\",\"diningId\":1,\"assignedDiningStoreId\":\"0401\",\"assignedDiningName\":nul l,\"price\":45.0,\"discount\":0.0,\"mealInstro\":\"豉汁排骨饭\",\"canSale\":false,\"saleStartTime\":\"2015-09-17T13:26:55.667\",\"saleEndTime\":\"2015-09-17T13:26:55.667\",\"canBooking\":false,\"bookingTime\":null,\"mod ifyBy\":0,\"modifyTime\":\"2015-09-17T13:26:55.667\",\"inputBy\":0,\"inputTime\ ":\"2015-09-17T13:26:55.667\",\"isDelete\":false,\"id\":30},{\"mealId\":\"00000 327\",\"mealName\":\"test\",\"diningId\":1,\"assignedDiningStoreId\":\"0401\",\ "assignedDiningName\":null,\"price\":45.0,\"discount\":0.0,\"mealInstro\":\"test\",\"canSale\":false,\"saleStartTime\":\"2015-09-17T13:52:30.74\",\"saleEndTime\":\"2015-09-17T13:52:30.74\",\"canBooking\":false,\"bookingTime\":null,\"modi fyBy\":0,\"modifyTime\":\"2015-09-17T13:52:31.803\",\"inputBy\":0,\"inputTime\" :\"2015-09-17T13:52:30.74\",\"isDelete\":false,\"id\":32},{\"mealId\":\"00000320\",\"mealName\":\"浓香猪脚饭\",\"diningId\":1,\"assignedDiningStoreId\":\"0401\",\"assignedDiningName\":nul l,\"price\":45.0,\"discount\":0.0,\"mealInstro\":\"浓香猪脚饭\",\"canSale\":false,\"saleStartTime\":\"2015-09-17T13:52:54.767\",\"saleEndTime\":\"2015-09-17T13:52:54.767\",\"canBooking\":false,\"bookingTime\":null,\"mod ifyBy\":0,\"modifyTime\":\"2015-09-17T13:52:54.767\",\"inputBy\":0,\"inputTime\ ":\"2015-09-17T13:52:54.767\",\"isDelete\":false,\"id\":33}]},\"error\":null,\" unAuthorizedRequest\":false}";appJson ao = jsonHelp.DeserializeJsonToObject<appJson>(json);if (ao.success.ToUpper() == "TRUE"){if (ao.result.result.ToString().Trim() == "0"){DataTable tblDatas = new DataTable("Datas");DataColumn dc = null;dc = tblDatas.Columns.Add("branch_no",Type.GetType("System.String"));dc = tblDatas.Columns.Add("sGoodsName",Type.GetType("System.String"));dc = tblDatas.Columns.Add("item_no",Type.GetType("System.String"));dc = tblDatas.Columns.Add("nrealsaleprice",Type.GetType("System.String"));for (int i = 0; i < ao.result.mealList.Length; i++){DataRow newRow;newRow = tblDatas.NewRow();newRow["branch_no"] =ao.result.mealList[i].assignedDiningStoreId.ToString().Trim(); newRow["sGoodsName"] =ao.result.mealList[i].mealName.ToString().Trim();newRow["item_no"] =ao.result.mealList[i].mealId.ToString().Trim();newRow["nrealsaleprice"] =ao.result.mealList[i].price.ToString().Trim();tblDatas.Rows.Add(newRow);}}}}}}。

相关主题