一.實體類轉換為json
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.Serialization.Json; using System.Text; using System.Threading.Tasks; namespace WmsManage.Common.Json { public class EntityToJson { // 從一個對象信息生成Json串 public static string ObjectToJson(object obj) { DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType()); MemoryStream stream = new MemoryStream(); serializer.WriteObject(stream, obj); byte[] dataBytes = new byte[stream.Length]; stream.Position = 0; stream.Read(dataBytes, 0, (int)stream.Length); return Encoding.UTF8.GetString(dataBytes); } } }
二:json轉換實體類
using Nancy.Json; using System; using System.Collections.Generic; using System.Linq; using System.Web; //using System.Web.Script.Serialization; namespace WmsManage.Common.Json { /// <summary> /// Json字符串轉實體 /// </summary> public class JsonToEntity { /// <summary> /// Json字符串轉實體 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="param">json字符串</param> /// <returns></returns> public static T ConvertToEntity<T>(string param) { JavaScriptSerializer jsonToEntity = new JavaScriptSerializer(); return jsonToEntity.Deserialize<T>(param); } } }
三.示例
1.實體類
/// <summary> /// 盤古返回數據 /// </summary> public class PgResultMsg { /// <summary> /// 返回代碼 /// </summary> public string resultCode { get; set; } /// <summary> /// 返回信息 /// </summary> public string resultMsg { get; set; } /// <summary> /// 產品數量 /// </summary> public int count { get; set; } /// <summary> /// 工單信息 /// </summary> public ErpMessage data { get; set; } } /// <summary> /// 工單信息 /// </summary> public class ErpMessage { /// <summary> /// 工單號 /// </summary> public string erpMo { get; set; } /// <summary> /// 棧板號 /// </summary> public string palletSn { get; set; } /// <summary> /// 成品料號 /// </summary> public string modelCode { get; set; } }
2.示例
PgResultMsg returnObj = JsonToEntity.ConvertToEntity<PgResultMsg>(str);
str:返回來的json信息;
PgResultMsg:用於接收json信息的實體類;