关于json,有一个官网:http://www.json.org 上面介绍了每种语言生成json格式的类库,我们只要把他们下载解压之后调用他们其中的组件即可,在.net中我用的是Newtonsoft.Json.dll这个组件,这个组件有好几种版本,有1.0,3.5等等。关于他的用法可以到官网去具体了解一下,这样我这里主要是介绍我们如何用他们,首先要在后台处理页面生成并返回json数据格式,数据处理页面这里可以用aspx或者ashx页面,如果用aspx页面来处理的话,首页把aspx的源视图中除了第一行之外,其余行都要删除,因为如果不删除的话,那么他们都将被返回给前台调用者必定造成错误.下面我介绍如何用ashx页面来生成json并返回。下面建一个Handler.ashx页面,下面是它里面的代码在引用Newtonsoft.Json.dll,要先将Newtonsoft.Json.dll放在Bin文件中,然后再页面添加对他的引用using
Newtonsoft.Json;

IList<RoomCate> list = RoomCateManager.GetAllRoomCateInfo();

  string Content = JavaScriptConvert.SerializeObject(list);//将数据转成json格式

  Response.Write(Content ); //输出json

从上面可以看出返回的是一个数组,里面包含许多的json对象,格式是[{"id":"1"},{"id":"2"}]

RoomCate rc=RoomCateManager.GetRoomCateInfo(id);

string Content = JavaScriptConvert.SerializeObject(rc);//将数据转成json格式

Response.Write(Content ); //输出json

上面输入的json格式为{"id":"1"}

那么我们前台如何调用并解析它呢,这里我们要用jquery里面的ajax方法,当然用的前提是用引用jquery.js文件。这里我推荐用getJSON方法因为他直接就返回json的数据格式

$.getJSON("Handler/Handler.ashx", function (json) {

                $.each(json, function (index, array) { //解析json数组用的方法

                    var roomID= array['RoomID'];//RoomID用类的属性

                    $("#NewsTop").append(roomID);//把它加载到我们要显示他们的html标签中

                });

  });

如果返回是json对象格式为{"id":"1"}那么我们将如何解析它呢,使用方法一样只是解析方法不一样

$.getJSON("Handler.ashx", function (json) {//直接用json.属性即可

              $("#logo").append("<img src='../SystemFiles/" + json.PictureName + "' width='234' height='172' />");

              $("#intro").html(json.Contents.substr(0, 420) + "...");

});

如果要交给aspx页面处理的话,不仅用将源代码中只保留第一行,其余行删除之外,还有加随机数

$.getJSON("Handler.aspx", {sjd: Date().toLocaleString() }, function (json) {

.....................//解析方法同上,其中data参数为sjd: Date().toLocaleString() ,这句就是随机数确保每次解析都不一样

 });

ASP.NET如何使用JSON的更多相关文章

  1. ASP.NET XML与JSON

    第一章  ASP.NET XML与JSON 本章学习目标:主要理解DOM和XML,掌握.NET操作XML,DOM,理解json对象,并掌握ASP.NET中JSON的序列化和反序列化. 下面是ASP.N ...

  2. ASP.NET Core 返回 Json DateTime 格式

    ASP.NET Core 返回 Json 格式的时候,如果返回数据中有DateTime类型,如何自定义其格式呢?配置如下: services.AddMvc().AddJsonOptions(opt = ...

  3. ASP.NET中使用JSON方便实现前台与后台的数据交换

    ASP.NET中使用JSON方便实现前台与后台的数据交换 发表于2014/9/13 6:47:08  8652人阅读 分类: ASP.NET Jquery extjs 一.前台向后台请求数据 在页面加 ...

  4. [转]Setting the NLog database connection string in the ASP.NET Core appsettings.json

    本文转自:https://damienbod.com/2016/09/22/setting-the-nlog-database-connection-string-in-the-asp-net-cor ...

  5. asp.net中利用JSON进行增删改查中运用到的方法

    //asp.net中 利用JSON进行操作, //增加: //当点击“增加链接的时候”,弹出增加信息窗口,然后,在窗体中输入完整信息,点击提交按钮. //这里我们需要考虑这些:我会进行异步提交,使用j ...

  6. ASP.NET Core appsettings.json 文件

    ASP.NET Core appsettings.json 文件 在本节中,我们将讨论 ASP.NET Core 项目中appsettings.json文件的重要性. 在以前的 ASP.NET 版本中 ...

  7. ASP.NET Core launchsettings.json 文件

    ASP.NET Core launchsettings.json 文件 在本节中,我们将讨论在 ASP.NET Core 项目中launchsettings.json文件的重要性. launchset ...

  8. ASP.NET Core 在 JSON 文件中配置依赖注入

    前言 在上一篇文章中写了如何在MVC中配置全局路由前缀,今天给大家介绍一下如何在在 json 文件中配置依赖注入. 在以前的 ASP.NET 4+ (MVC,Web Api,Owin,SingalR等 ...

  9. asp.net webservice返回json问题

    使用jQuery $.ajax方法请求webservice 一.方法返回值为string,将json格式的字符串返回 设置contentType为"application/json;char ...

  10. 使用JSON.Net(Newtonsoft.Json)作为ASP.Net MVC的json序列化和反序列化工具

    ASP.Net MVC默认的JSON序列化使用的是微软自己的JavaScriptSerializer.性能低不说,最让人受不了的是Dictionary<,>和Hashtable类型居然对应 ...

随机推荐

  1. Quartz 第三课 More About Jobs & JobDetails(官方文档翻译)

    当学完第二课之后,你欣喜的发现,让jobs工作起来是还是相当简单的.虽然让jobs运行起来很简单,对于其执行的关键内容还是需要知道的.它们是IJob接口中的Execute和JobDetails. 当你 ...

  2. [转载]IIS下开启php扩展失效? 感谢作者 本人泪流满面

    用户反应,空间不支持GD.系统环境是IIS PHP.   先用phpinfo探了一下,确实没有找到gd的影子.然后检查php.ini,发现gd扩展没有开启(windows下安装的php,其所有php扩 ...

  3. .Net平台开源作业调度框架Quartz.Net

    Quartz.NET介绍: Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中. ...

  4. java 内部类定义在局部时需要注意的情况

    /*内部类定义在局部时,1,不可以被成员修饰符修饰2,可以直接访问外部类中的成员,因为还持有外部类中的引用.    但是不可以访问它所在的局部中的变量.只能访问被final修饰的局部变量.*/clas ...

  5. 第一个MapReduce程序

    计算文件中每个单词的频数 wordcount 程序调用 wordmap 和 wordreduce 程序. import org.apache.hadoop.conf.Configuration; im ...

  6. requirejs实验002. r.js合并文件. 初体验.

    requirejs的官网上有介绍如何使用r.js合并,压缩文件的.http://requirejs.org/docs/optimization.html https://github.com/jrbu ...

  7. Poj 1328 / OpenJudge 1328 Radar Installation

    1.Link: http://poj.org/problem?id=1328 http://bailian.openjudge.cn/practice/1328/ 2.Content: Radar I ...

  8. web项目嵌入Jetty运行的两种方式(Jetty插件和自制Jetty服务器)

    在开发Java web项目时候,可以在项目中嵌入Jetty服务的方式来运行web程序. 由于最近开发web项目,自己使用的是比较旧的eclipse不支持导入tomcat来运行项目,于是就学习了下使用项 ...

  9. setTimeout/setInterval执行时机

    setTimeout()和setInterval()经常被用来处理延时和定时任务.setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式,而setInterval()则可以在每隔指定的 ...

  10. BroadcastReceiver

    BroadcastReceiver 广播接受者 Android中, Broadcast是一种数据传递的方式/通信方式. Brodadcast 是Android 系统组件之一 广播的特性 1. 由一个发 ...