ASP.NET输出JSON格式数据

最近在开发Windows8 Metro
App,使用JavaScript和HTML开发环境。所以操作数据绑定都是使用JSON格式数据。后台使用的是ASP.NET,因为项目相对较小,所有
后台没有使用数据库,使用的XML来保存数据。前台需要请求后台返回JSON格式的数据,比如要求返回一个eventslist,后台操作XML的方法省
略。主要讨论如何使用Hashtable和ArrayList,然后加上ASP.NET自带的JavaScriptSerializer来生成JSON数
据,然后返回给前端使用。当然目前微软的ASP.MVC和ASP.NET Web
API在处理JSON格式数据有很大的改进,特别是前端使用Ajax方式post一个json数据给服务器端,后台反序列化一个对象,就可以方便实现后台
的相关业务逻辑。

代码如下:

ArrayList eventList = new ArrayList();

            for (int i = 0; i < 3;i++ )
            {
                Hashtable ht = new Hashtable();
                ht.Add("eventid",i+1);
                ht.Add("eventname","圣诞节");
                ht.Add("eventdate","2012-12-25");
                ht.Add("eventlocation","公司会议中心");
                eventList.Add(ht);
            }
            JavaScriptSerializer ser = new JavaScriptSerializer();
            String jsonStr=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是否正确。http://jsonlint.com/

但是我们需要注意的是,hashtable在存放数据时是无序的,所以数据并不是按照我们插入的先后顺序显示的。我们可能期望的数据格式是:

{"eventid":1","eventname":"圣诞节",eventdate":"2012-12-25","eventlocation":"公司会议中心"}

但是我们查看我们的结果不是这样的,但是数据返回给前端之后,还是要通过JSON.parse()方法转换为json对象,所以不按照特定的顺序,对我们开发不影响。

数据在HTTP协议上传输都是使用二级制流,所以数据到达客户端,需要通过JSON.parse()。我的项目是Windows8 Metro App,当然也可以是网页或者web 应用。

当然如果前端和后台的数据模型一致,还可以直接通过对象实例直接序列化一个json格式数据。

时间: 2024-09-17 21:23:45

ASP.NET输出JSON格式数据的相关文章

请问 如何输出json格式数据?

问题描述 usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.Configuration;usingSystem.Data;usingSystem.Data.SqlClient;publicpartialclasstestttttttttttttt_输出Json格式

php输出json格式数据的例子

我们要在利用Content-type:text/json才可以正常显示是json数据哦.  代码如下 复制代码 <?php    header('Content-type:text/json');     //这句是重点,它告诉接收数据的对象此页面输出的是json数据:    $json={"n":"name","p":"password"};           //虽然这行数据形式上是json格式,如果没有上面那句的

这段代码输出保存在数据库中的json格式数据怎么用java代码在前端显示出来

问题描述 这段代码输出保存在数据库中的json格式数据怎么用java代码在前端显示出来 public class SaveHotKeySkillReq extends CommandBase { @Resource //数据库操作 private EntityManager em; protected void execute() throws GMessageException { CRequesthotKeyChange msg = pak.readMsg(CRequesthotKeyCha

python中json格式数据输出实现方式

python中json格式数据输出实现方式 主要使用json模块,直接导入import json即可. 小例子如下:     #coding=UTF-8 import json info={} info["code"]=1 info["id"]=1900 info["name"]='张三' info["sex"]='男' list=[info,info,info] data={} data["code"]=

python中json格式数据输出的简单实现方法_python

主要使用json模块,直接导入import json即可. 小例子如下: #coding=UTF-8 import json info={} info["code"]=1 info["id"]=1900 info["name"]='张三' info["sex"]='男' list=[info,info,info] data={} data["code"]=1 data["id"]=190

如何将ajax请求返回的Json格式数据循环输出成table形式_AJAX相关

首先,Ajax请求数据,(用的是Jquery的Ajax) 复制代码 代码如下: <script> $(function(){ $('#test').click(function(){ $.ajax({ url:'__APP__/Article/jsonTest', type:'post', success:function(data){ var item; $.each(data,function(i,result){ item = "<tr><td>&quo

如何将ajax请求返回的Json格式数据循环输出成table形式

首先,Ajax请求数据,(用的是Jquery的Ajax) 复制代码 代码如下: <script> $(function(){ $('#test').click(function(){ $.ajax({ url:'__APP__/Article/jsonTest', type:'post', success:function(data){ var item; $.each(data,function(i,result){ item = "<tr><td>&quo

.Net基于MVC4 Web Api输出Json格式实例_实用技巧

本文实例讲述了.Net基于MVC4 Web Api输出Json格式的方法,分享给大家供大家参考.具体实现方法如下: 1.Global 中增加json输出 复制代码 代码如下: GlobalConfiguration.Configuration.Formatters.JsonFormatter.MediaTypeMappings.Add(new QueryStringMapping("json", "true", "application/json"

php处理json格式数据经典案例总结_php技巧

本文实例总结了php处理json格式数据的方法.分享给大家供大家参考,具体如下: 1.json简介: 何为json? 简 单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序. 通俗点讲,它是一种数据的存储格式,就像php序列化后的字符串一样. 它也是一种数据描述,比如:我们将一个数组序列化后存放,就可以很容易的反序列化后应用:json也是如此,只不过它搭建的是