實體類與json之間轉換


一.實體類轉換為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信息的實體類;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM