关于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. OC2-重写

    // // Dog.h // OC2-重写 // // Created by qianfeng on 15/6/17. // Copyright (c) 2015年 qianfeng. All rig ...

  2. DevExpress gridView 小结(一)

    一:第一列显示行号  CustomDrawRowIndicator this.gridViewDevice.IndicatorWidth = 40; this.gridViewDevice.Custo ...

  3. php 操作mongodb

    在这里首先说一下mongo 客户端安装完成有时会启动失败     这里解决办法就是 删除 D:\mongodb\db 下的 mongod.lock文件即可 再重新启动 首先下载mongodb php扩 ...

  4. linux安装Vmware的时候出现“Could not open /dev/vmmon”

    在centos6.6上安装了Vmware之后运行出现下列问题 VMware Workstation : Could not open /dev/vmmon: No such file or direc ...

  5. a标签点击后的虚线框问题

    以前一直用的方法都是: a {outline: none;star:expression(this.onFocus=this.blur());} 后来发现有瑕疵,不完美.体现在页面调用JS动作比较频繁 ...

  6. 四、mysql内置函数

    .字符串函数 concat('a','b'); 字符串拼接函数 ,,"我是A我是B"): 从指定位置开始替换指定长度的指定数据(起步为1) lower() 转小写 upper() ...

  7. oracle 表空间、用户名 相关语句

    一.oracle查询表空间文件所在路径 select * from dba_data_files t  where t.tablespace_name='FLW' 二.计算出表空间各相关数据 SELE ...

  8. 在Qt Creator中添加OpenCV库

    在项目的pro文件中添加如下代码:INCLUDEPATH += D:/opencv/build/include win32:CONFIG(debug, debug|release): {LIBS += ...

  9. 【WS-Federation】到底有多少公司在用WS-Federation

    到底有多少公司在用WS-Federation? sso先调用一个登录接口 获取一个token 然后再调用各种业务接口 如果是ssl token 直接暴露就行了 没有ssl 最好每次取一个token, ...

  10. easy ui datagrid 动态绑定数据并绑定链接,进行操作

    ①.绑定datagrid,formatter { field: 'ShopId', title: '操作', width: 200, align: 'left', formatter: showSho ...