实体类与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