当然,这些都是官方的说法,至于具体的体验在后面的例子中会有~~~
]
最基本的格式问题,会用即可。
三、初级入门1 创建包含JSON语法的JavaScript字符串
var txt = '{ "employees" : [' + '{ "firstName":"Bill" , "lastName":"Gates" },' + '{ "firstName":"George" , "lastName":"Bush" },' + '{ "firstName":"Thomas" , "lastName":"Carter" } ]}';
2 使用Eval()进行解析:
var obj = eval ("(" + txt + ")");
3 在网页中使用JavaScript对象:
First Name:
<script type="text/javascript"> document.getElementById("fname").innerHTML = obj.employees[1].firstName document.getElementById("lname").innerHTML = obj.employees[1].lastName 《script》
Last Name:
C#代码:
public void Query(HttpContext context) { context.Response.ContentType = "text/plain"; //=============================================================== //获取查询条件:【用户id,开始时间,结束时间,关键字】 string category, startTime, endTime, key; category = startTime = endTime = key = ""; if (null != context.Request.QueryString["Category"]) { category = context.Request.QueryString["Category"].ToString().Trim(); } if (null != context.Request.QueryString["StartTime"]) { startTime = context.Request.QueryString["StartTime"].ToString().Trim(); } if (null != context.Request.QueryString["EndTime"]) { endTime = context.Request.QueryString["EndTime"].ToString().Trim(); } //if (null != context.Request.QueryString["KeyWord"]) //{ // key = context.Request.QueryString["KeyWord"].ToString().Trim(); //} //================================================================ //获取分页和排序信息:页大小,页码,排序方式,排序字段 int pageRows, page; pageRows = 10; page = 1; string order, sort, oderby; order = sort = oderby = ""; if (null != context.Request.QueryString["rows"]) { pageRows = int.Parse(context.Request.QueryString["rows"].ToString().Trim()); } if (null != context.Request.QueryString["page"]) { page = int.Parse(context.Request.QueryString["page"].ToString().Trim()); } if (null != context.Request.QueryString["sort"]) { order = context.Request.QueryString["sort"].ToString().Trim(); } if (null != context.Request.QueryString["order"]) { sort = context.Request.QueryString["order"].ToString().Trim(); } //=================================================================== //组合查询语句:条件+排序 StringBuilder strWhere = new StringBuilder(); //if (key != "") //{ // strWhere.AppendFormat(" ScoreLevel like '%{0}%' and ", key); //} if (category != "") { strWhere.AppendFormat(" ExamineSign= '{0}' and ", category); } if (startTime != "") { strWhere.AppendFormat(" PublishDate >= '{0}' and ", startTime); } if (endTime != "") { strWhere.AppendFormat(" PublishDate <= '{0}' and ", endTime); } //删除多余的and int startindex = strWhere.ToString().LastIndexOf("and");//获取最后一个and的位置 if (startindex >= 0) { strWhere.Remove(startindex, 3);//删除多余的and关键字 } if (sort != "" && order != "") { //strWhere.AppendFormat(" order by {0} {1}", sort, order);//添加排序 oderby = order + " " + sort; } //DataSet ds = Bnotice.GetList(strWhere.ToString()); //调用不分页的getlist //调用分页的GetList方法 DataSet ds = useractive.GetListByPage(strWhere.ToString(), oderby, (page - 1) * pageRows + 1, page * pageRows); int count = useractive.GetRecordCount(strWhere.ToString()); // 通过ToJson将获取的Dataset格式的数据类型,转化为JSON类型 string strJson = ToJson.Dataset2Json(ds, count); context.Response.Write(strJson); context.Response.End();
C#,ToJson类:将获取的Dataset类型或者是Datatable类型的数据进行转化为Json类型
public class ToJson { #region DataSet转换成Json格式 ////// DataSet转换成Json格式 /// /// ///public static string DataTable2Json(DataTable dt) { StringBuilder jsonBuilder = new StringBuilder(); for (int i = 0; i < dt.Rows.Count; i++) { jsonBuilder.Append("{"); for (int j = 0; j < dt.Columns.Count; j++) { jsonBuilder.Append("""); jsonBuilder.Append(dt.Columns[j].ColumnName); jsonBuilder.Append("":""); jsonBuilder.Append(dt.Rows[i][j].ToString()); jsonBuilder.Append("","); } if (dt.Columns.Count > 0) { jsonBuilder.Remove(jsonBuilder.Length - 1, 1); } jsonBuilder.Append("},"); } if (dt.Rows.Count > 0) { jsonBuilder.Remove(jsonBuilder.Length - 1, 1); } return jsonBuilder.ToString(); } #endregion dataTable转换成Json格式 }
HTML,传递给前台HTML界面:
用户姓名 | 认证机构 | 认证信息 | 时间 | 审阅状态 | 通知 | 是否认证 |
---|
注意
1、其中的field是获取的Json字符串中对应的值
2、url是该页面调用的一般处理程序所在的路径
通过简单的例子和在项目中的实践:
我们可以知道Json就是一种JavaScript的数据传输格式;
简单的了解和实践了Json的语法格式,创建,调用;
如何将从 获取的Dataset或是Datatable类型的数据转化为Json类型;
至于其优缺点以及技巧,需要在以后的实践中加以自己的理解和体会~~~