C#生成Json格式文档

主要是对List<类> 集合使用的转换方法,以及对数据集的使用如:DataSet,DataTable  。

操作方法

  • 01

    1. 使用说明:     对List<类> 集合使用的方法:      List<TBL_CODE_MZ> objList = objAction.GetCODE_MByList(objTbl);       string JsonSource = JSONHelper.ToJSON(objList); //当前页记录转成JSON格式      对数据集的使用如:DataSet,DataTable JSONHelper jsonHelp = new JSONHelper();             jsonHelp.success = true;             jsonHelp.totlalCount = getPrjListCount();                         foreach (DataRow dr in dsResult.Tables[0].Rows)             {                jsonHelp.AddItem("PRJ_ID", dr["PRJ_ID"].ToString());                jsonHelp.AddItem("PRJ_NAME", dr["PRJ_NAME"].ToString());                 jsonHelp.AddItem("DEP_ID", dr["DEP_ID"].ToString());                 jsonHelp.AddItem("PRJ_MANID", dr["PRJ_MANID"].ToString());                 jsonHelp.AddItem("PRJ_STATE", dr["PRJ_STATE"].ToString());                 if (dr["PRJ_STARTDATE"] != DBNull.Value)                 {                    jsonHelp.AddItem("PRJ_STARTDATE", Convert.ToDateTime(dr["PRJ_STARTDATE"]).ToString("yyyy/MM/dd"));                }                else               {                   jsonHelp.AddItem("PRJ_STARTDATE", string.Empty);                }                if (dr["PRJ_ENDDATE"] != DBNull.Value)                 {                  jsonHelp.AddItem("PRJ_ENDDATE", Convert.ToDateTime(dr["PRJ_ENDDATE"]).ToString("yyyy/MM/dd"));                }                else                 {                    jsonHelp.AddItem("PRJ_ENDDATE", string.Empty);                }                                               jsonHelp.AddItem("PRJ_MEMO", dr["PRJ_MEMO"].ToString());                jsonHelp.AddItem("CODE_NAME", dr["CODE_NAME"].ToString());                 jsonHelp.AddItem("DEP_NAME", dr["DEP_NAME"].ToString());                 jsonHelp.AddItem("USER_NAME", dr["USER_NAME"].ToString());                 jsonHelp.ItemOk();            }             string strResult = jsonHelp.ToString();

  • 02

    2.JSONHelp.cs源码 using System; using System.Collections; using System.Collections.Generic; using System.Text; using System.Web.Script.Serialization; namespace framework.common {     /**//// <summary>     /// JSONHelper 的摘要说明     /// </summary>     public class JSONHelper     {         //对应JSON的singleInfo成员         public string singleInfo = string.Empty;         protected string _error = string.Empty;         protected bool _success = true;         protected long _totalCount = 0;         protected System.Collections.ArrayList arrData = new ArrayList();                                public JSONHelper()         {                   }         public static string ToJSON(object obj)         {            JavaScriptSerializer serializer = new JavaScriptSerializer();             return serializer.Serialize(obj);         }         public static string ToJSON(object obj, int recursionDepth)         {             JavaScriptSerializer serializer = new JavaScriptSerializer();             serializer.RecursionLimit = recursionDepth;             return serializer.Serialize(obj);         }         //对应于JSON的success成员         设置success为TURE,代表成功#region 设置success为TURE,代表成功         public bool success         {             get             {                 return _success;             }             set             {                 //如设置为true则清空error                 if (success) _error = string.Empty;                 _success = value;             }         }         #endregion         //对应于JSON的error成员         public string error         {             get             {                 return _error;             }             set             {                 //如设置error,则自动设置success为false                 if (value != "") _success = false;                 _error = value;             }         }         public long totlalCount         {             get ...{ return _totalCount; }             set ...{ _totalCount = value; }        }         //重置,每次新生成一个json对象时必须执行该方法         public void Reset()         {             _success = true;             _error = string.Empty;             singleInfo = string.Empty;             arrData.Clear();         }         #region         public void AddItem(string name, string value)         {             arrData.Add(""" + name + "":" + """ + value + """);         }                 #endregion         public void ItemOk()         {             arrData.Add("<BR>");         }         //序列化JSON对象,得到返回的JSON代码         public override string ToString()         {             StringBuilder sb = new StringBuilder();             sb.Append("{");             sb.Append("totalCount:" + totlalCount.ToString() + ",");             sb.Append("success:" + _success.ToString().ToLower() + ",");             sb.Append("error:"" + _error.Replace(""", "\"") + "",");             sb.Append("singleInfo:"" + singleInfo.Replace(""", "\"") + "",");             sb.Append("data:[");             int index = 0;             sb.Append("{");             if (arrData.Count <= 0)             {                 sb.Append("}]");             }             else             {                 foreach (string val in arrData)                 {                     index++;                     if (val != "<BR>")                     {                         sb.Append(val + ",");                     }                     else                     {                         sb = sb.Replace(",", "", sb.Length - 1, 1);                         sb.Append("},");                         if (index < arrData.Count)                         {                             sb.Append("{");                         }                     }                                    }                 sb = sb.Replace(",", "", sb.Length - 1, 1);                 sb.Append("]");             }                         sb.Append("}");             return sb.ToString();         }     } }

(0)

相关推荐

  • 如何快速将html文档转化为chm格式文档

    最近正在搞jbpm,从jbpm的官网http://sourceforge.net/projects/jbpm/files/下载了jbpm 4.3的软件包,如所有的开源框架一样,都有一份html格式的文 ...

  • 金山wps文字另存为excel格式文档的简单方法

    在今天的金山wps教程中,我们将跟大家分享的是金山wps文字另存为:pdf格式文档.excel文档.doc文档的方法.相信很多网友看到这个标题都会好奇:金山wps文字另存为:pdf格式.doc格式好像 ...

  • word2016怎么直接编辑PDF格式文档?

    微软最新款办公软件:office2016为用户带来了非常多实用的功能,其中,让小编印象最深刻的就是,不需要将PDF格式文档转换称word格式,使用office2016的word2016就可以直接编辑P ...

  • 福昕阅读器能将PDF格式文档转换成word文档吗?

    福昕阅读器可以将PDF格式文档转换成word文档. 方法一: 1.首先,用福昕阅读器打开你想要转换的pdf文件(这里以360云盘使用说明为例). 2.点击工具栏菜单的"文本查看器" ...

  • wps文字如何将网页内容转为word格式文档

    wps将网页内容转为word格式文档的方法: 1. 在浏览器中访问目标网页,执行菜单"文件"→"另存为",文件类型选择"网页,全部". 2. ...

  • 在Word2016中快速编辑PDF格式文档

      在Word2016中快速编辑PDF格式文档 首先在资源管理器中找到想要编辑的PDF文件,右击它,从右键菜单中选择"打开方式→Word 2016". Word将自动启动,并弹出一 ...

  • Visio 2016将图形保存为AutoCAD格式文档的方法

    Visio 2016是一款很好用的画图软件,下面来讲讲Visio 2016怎么将图形保存为AtuoCAD格式文档.具体如下:1.第一步,在电脑上打开Visio软件,进入如图所示的界面,点击第二排第一个 ...

  • 如何将word文档转换为pdf格式文档?

    有很多时候,我们需要将word格式文档转换为pdf格式文档,疑问pdf格式文档有很多优点,譬如无论在哪种打印机上都可保证精确的颜色和准确的打印效果,即PDF会忠实地再现原稿的每一个字符.颜色以及图象. ...

  • 如何使用eclipse生成javadoc帮助文档?

    javadoc是Sun公司提供的一个技术,它从程序源代码中抽取类.方法.成员等注释形成一个和源代码配套的API帮助文档.既然javadoc那么好,那么如何生成javadoc帮助文档了,下面将在ecli ...