使用JSON.net 将实体类生成JSON字符串

 

使用JSON.net 生成实体类的JSON串是很简单的,比如:

//实体类

 

代码
public class SysNavModel
{
        public SysNavModel()
        { }
        
        
/// <summary>
        /// 构造函数 sys_nav
        /// </summary>
        /// <param name="navid">navid</param>
        /// <param name="title">title</param>
        /// <param name="url">url</param>
        /// <param name="iconcls">iconcls</param>
        /// <param name="parentid">parentid</param>
        /// <param name="visible">visible</param>
        /// <param name="orderid">orderid</param>
        public SysNavModel(int? navid, string title, string url, string iconcls, int? parentid, bool? visible, int? orderid)
        {
            
this.navid = navid;
            
this.title = title;
            
this.url = url;
            
this.iconcls = iconcls;
            
this.parentid = parentid;
            
this.visible = visible;
            
this.orderid = orderid;
        }
        
        #region 实体属性
        private 
int? _navid;
        private string _title;
        private string _url;
        private string _iconcls;
        private 
int? _parentid;
        private bool
? _visible;
        private 
int? _orderid;
        private string _ptag;
          
        
/// <summary>
        /// navid
        /// </summary>
        public int? navid
        {
            set { _navid 
= value; }
            get { 
return _navid; }
        }

        
/// <summary>
        /// 页面标记
        /// </summary>
        public string ptag
        {
            get { 
return _ptag; }
            set { _ptag 
= value; }
        }

        
/// <summary>
        /// 导航菜单名称
        /// </summary>
        public string title
        {
            set { _title 
= value; }
            get { 
return _title; }
        }
                  
        
/// <summary>
        /// 链接地址
        /// </summary>
        public string url
        {
            set { _url 
= value; }
            get { 
return _url; }
        }
                  
        
/// <summary>
        /// ICON 样式类名
        /// </summary>
        public string iconcls
        {
            set { _iconcls 
= value; }
            get { 
return _iconcls; }
        }
                  
        
/// <summary>
        /// 上级ID
        /// </summary>
        public int? parentid
        {
            set { _parentid 
= value; }
            get { 
return _parentid; }
        }
                  
        
/// <summary>
        /// 是否显示
        /// </summary>
        public bool? visible
        {
            set { _visible 
= value; }
            get { 
return _visible; }
        }
                  
        
/// <summary>
        /// 排序ID
        /// </summary>
        public int? orderid
        {
            set { _orderid 
= value; }
            get { 
return _orderid; }
        }

        
/// <summary>
        /// 权限数组
        /// </summary>
        public ArrayList Permissions
        {
            get 
            {
                
return NavPermissionDal.Current.GetPermissionArray(this.navid.Value);
            }
        }
        #endregion
//主要代码
        public override string ToString()
        {
            StringBuilder sb 
=   new  StringBuilder();
            StringWriter sw 
=   new  StringWriter(sb);

            
new  JsonSerializer().Serialize( new  JsonTextWriter(sw),  this );

            
return  sb.ToString();
        }
}

 
重写了实体类的ToString()方法
在调时 直接调用实体类的ToString() 方法就可以生JSON字符串了。
简单吧
 
我们可以封装一个方法以便以后使用
public static string ToJson(object obj)
{
   StringBuilder sb 
=   new  StringBuilder();
   StringWriter sw 
=   new  StringWriter(sb);

   JsonSerializer json 
=   new  JsonSerializer();
   json.Serialize(
new  JsonTextWriter(sw),obj);

   
return  sb.ToString();
 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值