ASP.NET Hashtable输出JSON格式数据
2014-01-01 17:04
375 查看
最近在开发Windows8MetroApp,使用JavaScript和HTML开发环境。所以操作数据绑定都是使用JSON格式数据。后台使用的是ASP.NET,因为项目相对较小,所有后台没有使用数据库,使用的XML来保存数据。前台需要请求后台返回JSON格式的数据,比如要求返回一个eventslist,后台操作XML的方法省略。主要讨论如何使用Hashtable和ArrayList,然后加上ASP.NET自带的JavaScriptSerializer来生成JSON数据,然后返回给前端使用。当然目前微软的ASP.MVC和ASP.NETWebAPI在处理JSON格式数据有很大的改进,特别是前端使用Ajax方式post一个json数据给服务器端,后台反序列化一个对象,就可以方便实现后台的相关业务逻辑。
代码如下:
查看页面,可以看到返回的结果是JSON格式的数据。实际上是一个数组,数组里面每项是一个json对象。
我们可以通过这个网址验证生成的json是否正确。http://jsonlint.com/
但是我们需要注意的是,hashtable在存放数据时是无序的,所以数据并不是按照我们插入的先后顺序显示的。我们可能期望的数据格式是:
{"eventid":1","eventname":"圣诞节",eventdate":"2012-12-25","eventlocation":"公司会议中心"}
但是我们查看我们的结果不是这样的,但是数据返回给前端之后,还是要通过JSON.parse()方法转换为json对象,所以不按照特定的顺序,对我们开发不影响。
数据在HTTP协议上传输都是使用二级制流,所以数据到达客户端,需要通过JSON.parse()。我的项目是Windows8MetroApp,当然也可以是网页或者web应用。
当然如果前端和后台的数据模型一致,还可以直接通过对象实例直接序列化一个json格式数据。
代码如下:
ArrayListeventList=newArrayList(); for(inti=0;i<3;i++) { Hashtableht=newHashtable(); ht.Add("eventid",i+1); ht.Add("eventname","圣诞节"); ht.Add("eventdate","2012-12-25"); ht.Add("eventlocation","公司会议中心"); eventList.Add(ht); } JavaScriptSerializerser=newJavaScriptSerializer(); StringjsonStr=ser.Serialize(eventList); Response.Write(jsonStr);
查看页面,可以看到返回的结果是JSON格式的数据。实际上是一个数组,数组里面每项是一个json对象。
[{"eventdate":"2012-12-25","eventlocation":"公司会议中心","eventname":"圣诞节","eventid":1},{"eventdate":"2012-12-25","eventlocation":"公司会议中心","eventname":"圣诞节","eventid":2},{"eventdate":"2012-12-25","eventlocation":"公司会议中心","eventname":"圣诞节","eventid":3}]
我们可以通过这个网址验证生成的json是否正确。
但是我们需要注意的是,hashtable在存放数据时是无序的,所以数据并不是按照我们插入的先后顺序显示的。我们可能期望的数据格式是:
{"eventid":1","eventname":"圣诞节",eventdate":"2012-12-25","eventlocation":"公司会议中心"}
但是我们查看我们的结果不是这样的,但是数据返回给前端之后,还是要通过JSON.parse()方法转换为json对象,所以不按照特定的顺序,对我们开发不影响。
数据在HTTP协议上传输都是使用二级制流,所以数据到达客户端,需要通过JSON.parse()。我的项目是Windows8MetroApp,当然也可以是网页或者web应用。
当然如果前端和后台的数据模型一致,还可以直接通过对象实例直接序列化一个json格式数据。
相关文章推荐
- ASP.NET Hashtable输出JSON格式数据
- ASP.NET Hashtable输出JSON格式数据 - 贵源网络 - 博客园
- ASP.NET输出JSON格式数据
- ASP.NET输出Json格式数据
- ASP.NET输出JSON格式数据
- asp.net数据库生成LigerUi树Tree结构Json格式数据(有点绕,附基本源代码)
- 输出的数据格式是如何决定的-------Asp.net WebAPI学习笔记(二)
- 在ASP.NET中将数据直接输出成Excel格式
- 解决Asp.net Mvc返回JsonResult中DateTime类型数据格式问题的方法
- 讲解asp.net中Jquery解析json数据格式相关知识
- Asp.net/Jquery/JS中各种数据转换为【JSON数据格式】的类!(相当好,转)
- Asp.Net WebAPI配置接口返回数据类型为Json格式
- Asp.net C# 使用Newtonsoft.Json 实现DataTable转Json格式数据
- ASP.Net Core 返回的json数据,自定义日期格式
- 解决Asp.net Mvc返回JsonResult中DateTime类型数据格式的问题
- 解决Asp.net Mvc返回JsonResult中DateTime类型数据格式问题的方法
- asp.net mvc linq to entity 查询指定列的数据以json字符串格式返回数据
- 解决Asp.net Mvc返回JsonResult中DateTime类型数据格式的问题
- Asp.net C# 使用Newtonsoft.Json 实现DataTable转Json格式数据
- Asp.Net开发的WebService输出JSON格式