Json是什么,Json就是javascript对象或者数组格式的字符串,Http协议不能传递JavaScript对象,所以要转换为字符串进行传输。
AJAX传递复杂数据如果自己进行格式定义的话会经历组装、解析的过程,因此AJAX中有一个事实上的数据传输标准JSon。Json(是一个标准,就像XML一样,Json规定了对象以什么样的格式保存为一个字符串)将复杂对象序列化为一个字符串,在浏览器端再将字符串反序列化为JavaScript可以读取的对象。Json被几乎所有语言支持。Json就是一个把对象(js、java、.net)表示为字符串的标准。
JavaScript对象(键值对) var person= {name:'rupeng',age:8};
JavaScript数组:var names = ['rupeng','qq','taobao'];
JavaScript对象数组:var persons = [{name:'rupeng',age:8}, {name:'qq',age:15}, {name:'taobao',age:10}];
JavaScript对象关联:var p = {name:'yzk',child:{name:'timi',age:1}};

如何把json字符串转换为js对象:var obj = eval("a("+data+")")。举例:普通对象、数组、对象数组、多对象关联。
(*)安全性问题,如果不用jquery,新版浏览器都原生支持JSON.parse,不支持的引用json2.js也就可以了
C#中将.Net对象序列化为Json字符串的方法:JavaScriptSerializer().Serialize(p)。.Net对象→json字符串→JavaScript对象。
JavaScriptSerializer在System.Web.Extensions.dll中。Json.Net
C#中的匿名类: var p = new { Id=5,Name="rupeng"} 通过反编译看到其实还是生成一个类。

ashx代码:

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/html";
//序列化字符串数组
string[] strs = { "www.rupeng.com", "www.baidu.com", "www.qq.com" };
JavaScriptSerializer jss = new JavaScriptSerializer();
string json = jss.Serialize(strs);
context.Response.Write(json); //序列化匿名类
var p = new { ID = , Name = "syfpc", Height = };
JavaScriptSerializer jss = new JavaScriptSerializer();
string json = jss.Serialize(p);
context.Response.Write(json); //序列化List集合
List<string> list = new List<string>();
list.Add("aaa");
list.Add("bbb");
list.Add("ccc");
JavaScriptSerializer jss = new JavaScriptSerializer();
string json = jss.Serialize(list);
context.Response.Write(json);
}

javascript代码:

<script type="text/javascript">
$(function () {
MyAjax("JsonTest.ashx",
function (resTxt) {
var strs = eval("(" + resTxt + ")");
//alert(strs.Name);//获取类的value值
for (var i = 0; i < strs.length; i++) {
alert(strs[i]);
}
}, function (status) { }
)
});
</script>

Json简介与转换数据例子的更多相关文章

  1. json转换数据后面参数要带ture,代码

    强大的PHP已经提供了内置函数:json_encode() 和 json_decode().很容易理解,json_encode()就是将PHP数组转换成Json.相反,json_decode()就是将 ...

  2. Unity 数据Json格式的转换

    把对象转换为字节序列的过程称为对象的序列化. 把字节序列化恢复为对象过程称为对象的反序列化. JSON格式的转换,是一大神给我说的,让我拿来存储数据库时对一些数据的处理,感觉特别好用.但是我并没有深入 ...

  3. JavaBean到JSon格式的转换例子的代码

    内容过程,把做工程过程较好的内容片段备份一次,如下的内容是关于 JavaBean到JSon格式的转换例子的内容,应该对各朋友有一些用处. User u = new User(); u.setId(1) ...

  4. $Django ajax简介 ajax简单数据交互,上传文件(form-data格式数据),Json数据格式交互

    一.ajax  1 什么是ajax:异步的JavaScript和xml,跟后台交互,都用json  2 ajax干啥用的?前后端做数据交互:  3 之前学的跟后台做交互的方式:   -第一种:在浏览器 ...

  5. C#设计模式总结 C#设计模式(22)——访问者模式(Vistor Pattern) C#设计模式总结 .NET Core launch.json 简介 利用Bootstrap Paginator插件和knockout.js完成分页功能 图片在线裁剪和图片上传总结 循序渐进学.Net Core Web Api开发系列【2】:利用Swagger调试WebApi

    C#设计模式总结 一. 设计原则 使用设计模式的根本原因是适应变化,提高代码复用率,使软件更具有可维护性和可扩展性.并且,在进行设计的时候,也需要遵循以下几个原则:单一职责原则.开放封闭原则.里氏代替 ...

  6. iOSXML & JSON 简介

    XML & JSON 简介 •JSON –作为一种轻量级的数据交换格式,正在逐步取代XML,成为网络数据的通用格式 –基于JavaScript的一个子集 –易读性略差,编码手写难度大,数据量小 ...

  7. json简介及JsonCpp用法

    [时间:2017-04] [状态:Open] [关键词:数据交换格式,json,jsoncpp,c++,json解析,OpenSource] json简介 本文仅仅是添加我个人对json格式的理解,更 ...

  8. Json时间格式转换问题

    很多时候在数据库中取出数据,需要用Json来接收,但是接受出来的数据竟然是:/Date(1386040883000+0800)/ 这种格式. 这个时候就需要将Json格式,转换成Javascript格 ...

  9. Android项目开发全程(四)-- 将网络返回的json字符串轻松转换成listview列表

    前面几篇博文介绍了从项目搭建到获取网络字符串,对一个项目的前期整体工作进行了详细的介绍,本篇接着上篇介绍一下怎么样优雅将网络返回的json字符串轻松转换成listview列表. 先上图,看一下效果. ...

随机推荐

  1. Record is locked by another user --Oracle行锁解锁

    Oracle修改表中记录时出现record is locked by another user的问题 在操作表时没有commit,导致表被锁,只要执行下面两行语句,就可以了将行锁解锁了. 1.     ...

  2. HDU 1285 确定比赛名次

    传送门 确定比赛名次 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  3. vim YouCompleteMe

    http://www.ithao123.cn/content-1906969.html http://www.it165.net/os/html/201503/12190.html

  4. Android日志服务 记录日志

    转: http://easion-zms.iteye.com/blog/981568 import java.io.BufferedReader; import java.io.File; impor ...

  5. ios 文字上下滚动效果Demo

    http://pan.baidu.com/s/1qWj8vBQ

  6. Unity自动打包Apk

    unity打包apk相对来说比较容易,相信出过的人都明白,出包过程,没有大的难度,一步一操作,一步一等待,繁琐耗时,不懂的人又代替不了.这时候需求就来了,如何简单的一键打包搞定,这个就稍微有点难度,当 ...

  7. map vs hash_map

    1. map, multimap, set, multiset g++ 中 map, multimap, set, multiset 由红黑树实现 map: bits/stl_map.h multim ...

  8. udf提权方法和出现问题汇总

    一.适用条件 1.目标系统是Windows(Win2000,XP,Win2003): 2.你已经拥有MYSQL的某个用户账号,此账号必须有对mysql的insert和delete权限以创建和抛弃函数( ...

  9. 小希的迷宫(MST单棵树判断法则)

    小希的迷宫 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  10. nyoj 20

    http://acm.nyist.net/JudgeOnline/message.php?msg=已提交&url=status.php%3Fpid%3D20&second=0 #inc ...