使用JSON.net 将实体类生成JSON字符串
2011-08-28 23:31
495 查看
使用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();
}
//实体类
代码
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();
}
相关文章推荐
- 使用JSON.net 将实体类生成JSON字符串
- 使用json.net 组件 生成JSON字符串,自定义日期格式
- 使用json.net 组件 生成JSON字符串,自定义日期格式
- asp.net使用DataTable构造Json字符串的方法
- ASP.NET JSON字符串与实体类的互转换
- c#实例化继承类,必须对被继承类的程序集做引用 .net core Redis分布式缓存客户端实现逻辑分析及示例demo 数据库笔记之索引和事务 centos 7下安装python 3.6笔记 你大波哥~ C#开源框架(转载) JSON C# Class Generator ---由json字符串生成C#实体类的工具
- Asp.Net 使用“递归算法”生成目录树的JSON格式(值得收藏)
- asp.net(c#) 使用Rex正则来生成字符串数组的代码
- Json.net[v3.5]对对象和JSON字符串的使用
- JSON C# Class Generator ---由json字符串生成C#实体类的工具
- IDEA GsonFormat插件 Json字符串自动生成实体类
- java将JSON字符串转换为实体类对象,基于net.sf.json实现
- 使用jackson和fastjson分别生成json字符串的方式
- 今天学到的最有用的东东---struts2手动生成json字符串并回传,不使用struts2的json插件
- ASP.NET 自带对象 JSON字符串与实体类的转换
- C#字符串数组排序 C#排序算法大全 C#字符串比较方法 一个.NET通用JSON解析/构建类的实现(c#) C#处理Json文件 asp.net使用Jquery+iframe传值问题
- C# JObject 的使用生成json字符串
- json对象、json格式字符串、java对象【使用此net.sf.json.JSONObject将java对象[比如数组集合Map、Map扩展]转换成json格式字符串】
- ASP.NET JSON字符串与实体类的互转换
- .net MVC 使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错,字符串的长度超过了为 maxJsonLength 属性设置的值