ASP.NET如何使用JSON
关于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的更多相关文章
- ASP.NET XML与JSON
第一章 ASP.NET XML与JSON 本章学习目标:主要理解DOM和XML,掌握.NET操作XML,DOM,理解json对象,并掌握ASP.NET中JSON的序列化和反序列化. 下面是ASP.N ...
- ASP.NET Core 返回 Json DateTime 格式
ASP.NET Core 返回 Json 格式的时候,如果返回数据中有DateTime类型,如何自定义其格式呢?配置如下: services.AddMvc().AddJsonOptions(opt = ...
- ASP.NET中使用JSON方便实现前台与后台的数据交换
ASP.NET中使用JSON方便实现前台与后台的数据交换 发表于2014/9/13 6:47:08 8652人阅读 分类: ASP.NET Jquery extjs 一.前台向后台请求数据 在页面加 ...
- [转]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 ...
- asp.net中利用JSON进行增删改查中运用到的方法
//asp.net中 利用JSON进行操作, //增加: //当点击“增加链接的时候”,弹出增加信息窗口,然后,在窗体中输入完整信息,点击提交按钮. //这里我们需要考虑这些:我会进行异步提交,使用j ...
- ASP.NET Core appsettings.json 文件
ASP.NET Core appsettings.json 文件 在本节中,我们将讨论 ASP.NET Core 项目中appsettings.json文件的重要性. 在以前的 ASP.NET 版本中 ...
- ASP.NET Core launchsettings.json 文件
ASP.NET Core launchsettings.json 文件 在本节中,我们将讨论在 ASP.NET Core 项目中launchsettings.json文件的重要性. launchset ...
- ASP.NET Core 在 JSON 文件中配置依赖注入
前言 在上一篇文章中写了如何在MVC中配置全局路由前缀,今天给大家介绍一下如何在在 json 文件中配置依赖注入. 在以前的 ASP.NET 4+ (MVC,Web Api,Owin,SingalR等 ...
- asp.net webservice返回json问题
使用jQuery $.ajax方法请求webservice 一.方法返回值为string,将json格式的字符串返回 设置contentType为"application/json;char ...
- 使用JSON.Net(Newtonsoft.Json)作为ASP.Net MVC的json序列化和反序列化工具
ASP.Net MVC默认的JSON序列化使用的是微软自己的JavaScriptSerializer.性能低不说,最让人受不了的是Dictionary<,>和Hashtable类型居然对应 ...
随机推荐
- C#判断输入的是否是汉字
第一种方法:正则表达式 string text = "是不是汉字"; for (int i = 0; i < text.Length; i++) { if (Regex.Is ...
- android 数据库的创建
主java package com.itheima.createdatabase; import android.app.Activity; import android.content.Contex ...
- 百练_2945 拦截导弹(DP)
描述 某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到敌国的导弹来袭 ...
- 利用多核来加速Linux命令行
本文转载自 多核CPU来加速 awk, sed, bzip2, grep, wc等,如需查看原文,请点此链接进入. -------------------------------我是分割线 开始 -- ...
- 返璞归真vc++之感言
本人自述,大专学历,感觉自己也属于好学型学生,历任班上学习委员3年有余,参与学校项目几多个,不知道不觉从11年毕业已有3个年头,3年来,不敢苟同自己的生活方式,奈何人生无奈..从刚开始的电子商务公司转 ...
- [java学习笔记]java语言基础概述之内存的划分&堆和栈
1.内存的划分 1.寄存器 cpu处理 2.本地方法区 和所在系统相关 3.方法区 方法加载进内存,其实就是开辟了一块该方法的方法区 方法区中还可以有静态区,用于存放静态变量(类变量) 4.栈内存 5 ...
- C语言中fgetc、fputc和getc、putc的区别是什么
看书的时候,发现了这四个函数,想知道他们的不同.结果上网查发现很多人说fgetc.fputc的f代表的是file,就是这两个函数是和文件有关的!但是一看他们的函数声明,如下图: 发现他们的参数里面都有 ...
- vim ctags 的使用
ubantu 先安装 sudo apt-get install ctags 『基本功能使用方法』常用命令列表: 1. $ ctags –R * ($ 为Linux系统Shel ...
- border-radius导致overflow:hidden失效问题。
如果一个父元素设置了overflow:hidden属于的同时还设置了border-radius属性,那么如果想隐藏超出的子元素,四个圆角处会出现超出圆角依然显示的bug: 一种方法是运用-webkit ...
- swfupload使用说明
网上的例子介绍的文档真的很多.下面简单介绍一下 SWFUpload的文件上传流程是这样的: 1.引入相应的js文件 2.实例化SWFUpload对象,传入一个配置参数对象进行各方面的配置. 3.点击S ...