博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
原 ASP.NET如何使用JSON
阅读量:5961 次
发布时间:2019-06-19

本文共 1711 字,大约阅读时间需要 5 分钟。

hot3.png

发表于2年前(2012-06-26 11:28)   阅读(2597) | 评论() 4人收藏此文章, 我要收藏

0

  

关于json,有一个官网: 上面介绍了每种语言生成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() ,这句就是随机数确保每次解析都不一样

 });

转载于:https://my.oschina.net/u/1865850/blog/342573

你可能感兴趣的文章
英国政府可能利用曼彻斯特自杀袭击要求互联网公司破解加密
查看>>
Mozilla 将大幅简化火狐浏览器的同步操作
查看>>
微软加大在 Edge/IE 浏览器上阻止 SHA-1 证书的力度
查看>>
龙芯将两款 CPU 核开源,这意味着什么?
查看>>
《51单片机应用开发从入门到精通》——导读
查看>>
iOS深拷贝与浅拷贝
查看>>
mysql5.6参数说明
查看>>
[转]线程安全的单例模式
查看>>
winfrom的打开窗口特效
查看>>
IOS(swift)-数据存储 · NSKeyedArchiver 归档
查看>>
TypeScript 入门指南
查看>>
mysql报错 Data truncated for column 'from' at row 1
查看>>
Monkey test确定package name的一种特殊方法
查看>>
ECShop 调用自定义广告
查看>>
Eigrp基本知识汇总
查看>>
ubuntu 12.04.4 安装 devstack
查看>>
windows10:一些虚拟化功能与vmware冲突
查看>>
我的友情链接
查看>>
最佳的移动广告平台--KeyMob
查看>>
Absent Code attribute in method that is not native
查看>>