| 今日刚开一秒传奇sf |
| |
| 传奇私服版本下载 一些单片机的底层论坛 - Baiduluckyboy的专栏 - 博客频道 - CSDN.NET信息发布系统 Jquery |
|
| 文章作者:今日刚开一秒传奇sf |
文章来源:http://WWW.MINFALAND.COM/ |
更新时间:2012-02-23 | |
|
|
people.musicians[1].lastName = "Rachmaninov"; |
将 JSON 数据赋值给变量
new { controller=”Home”,action=”Index”, id=”“ } // Param defaults
String myObjectInJSON = myObject.toJSONString(); |
1.所谓的路由是URL到控制器类(Controller)的某个方法(Action)的映射
这非常简单;现在 people 包含前面看到的 JSON 格式的数据。但是,这还不够,因为访问数据的方式似乎还不明显。
“Default”,// Route name
2.Action的要求必须是Public
var people =
{ "programmers": [ { "firstName": "Brett",传奇私服版本下载, "lastName":"McLaughlin", "email": "brett@newInstance.com" }, { "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" }, { "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" } ],
"authors": [
{ "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" }, { "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" }, { "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" } ],
"musicians": [
{ "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" }, { "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" } ]
}
正如可以用点号和括号访问数据,也可以按照同样的方式轻松地修改数据:
firstName=Brett
从语法方面来看,这与名称/值对相比并没有很大的优势,但是在这种情况下 JSON 更容易使用,而且可读性更好。例如,它明确地表示以上三个值都是同一记录的一部分;花括号使这些值有了某种联系。
|
这个示例非常基本,而且实际上比等效的纯文本名称/值对占用更多的空间:
);
最终结论是,如果要处理大量 JavaScript 对象,那么 JSON 几乎肯定是一个好选择,这样就可以轻松地将数据转换为可以在请求中发送给服务器端程序的格式。
简单 JSON 示例
|
如果使用 JSON,就只需将多个带花括号的记录分组在一起:
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" } |
当需要表示一组值时,JSON 不但能够提高可读性,而且可以减少复杂性。例如,假设您希望表示一个人名列表。在 XML 中,需要许多开始标记和结束标记;如果使用典型的名称/值对(就像在本系列前面文章中看到的那种名称/值对),那么必须建立一种专有的数据格式,或者将键名称修改为 person1-firstName 这样的形式。
尽管看起来不明显,但是上面的长字符串实际上只是一个数组;将这个数组放进 JavaScript 变量之后,就可以很轻松地访问它。实际上,只需用点号表示法来表示数组元素。所以,要想访问 programmers 列表的第一个条目的姓氏,只需在 JavaScript 中使用下面这样的代码:
{ "people": [ { "firstName": "Brett", "lastName":"McLaughlin",英雄合击传奇私服, "email": "brett@newInstance.com" }, { "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" }, { "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" }]} |
在将字符串转换为 JavaScript 对象之后,就可以像这样修改变量中的数据。
掌握了 JSON 格式之后,在JavaScript 中使用它就很简单了。JSON 是 JavaScript 原生格式,这意味着在JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。
String newJSONtext = people.toJSONString(); |
routes.MapRoute(
在 JavaScript 中使用 JSON
下面是使用同一变量的几个示例。
4.第二个参数就定义了什么样的URL格式才能被解析,其格式为http://www.websitename.com/控制器的类名/方法名/可选的参数 ,注意其命名规则,一般控制器的名字为AAAController,那么访问的时候控制器名为AAA而不是完整的AAAController
修改 JSON 数据
这就是 JSON 与本系列讨论的其他数据格式之间最大的差异。如果使用 JSON,只需调用一个简单的函数,就可以获得经过格式化的数据,可以直接使用了。对于其他数据格式,需要在原始数据和格式化数据之间进行转换。即使使用 Document Object Model 这样的 API(提供了将自己的数据结构转换为文本的函数),也需要学习这个 API 并使用 API 的对象,而不是使用原生的 JavaScript 对象和语法。
在处理 JSON 格式的数据时,没有需要遵守的预定义的约束。所以,在同样的数据结构中,可以改变表示数据的方式,甚至可以以不同方式表示同一事物。
|
在这里需要补充的两部分内容:
|
其含义是:
转换回字符串
{ "firstName": "Brett" } |
按照最简单的形式,可以用下面这样的 JSON 表示名称/值对:
例如,可以创建一个新的 JavaScript 变量,然后将 JSON 格式的数据字符串直接赋值给它:
3.MapRoute的第一个参数的意思是定义一条默认的路由规则,当然可以定义很多规则。其名字为“Default”
|
这里最值得注意的是,能够表示多个值,每个值进而包含多个值。但是还应该注意,在不同的主条目(programmers、authors 和 musicians)之间,记录中实际的名称/值对可以不一样。JSON 是完全动态的,允许在 JSON 结构的中间改变表示数据的方式。
注意,网通热血传奇私服,数组索引是从零开始的。所以,这行代码首先访问 people 变量中的数据;然后移动到称为 programmers 的条目,再移动到第一个记录([0]);最后,访问 lastName 键的值。结果是字符串值 “McLaughlin”。
5.第3个参数定义的是一个默认的值,也就是输入http://www.websitename.com的时候默认会访问哪个控制器以及Action方法。采用的是.net3.5的匿名类语法。注意这个默认的控制器与Action并不是一起控制的,比如定义的默认控制器为Home,那么访问http://www.websitename.com就会访问Home控制器的index方法,定义的默认控制器为index,那么你访问bbb控制器的时候如http://www.websitename.com/bbb就会访问bbb控制器的index
访问数据
| |
值的数组
当然,如果不能轻松地将对象转换回本文提到的文本格式,那么所有数据修改都没有太大的价值。在 JavaScript 中这种转换也很简单:
这不难理解。在这个示例中,只有一个名为 people 的变量,值是包含三个条目的数组,每个条目是一个人的记录,其中包含名、姓和电子邮件地址。上面的示例演示如何用括号将记录组合成一个值。当然,可以使用相同的语法表示多个值(每个值包含多个记录):
|
利用这样的语法,可以处理任何 JSON 格式的数据,而不需要使用任何额外的JavaScript 工具包或 API。
people.programmers[0].lastName; |
但是,当将多个名称/值对串在一起时,JSON 就会体现出它的价值了。首先,轻变传奇私服,可以创建包含多个名称/值对的记录,比如:
这样就行了!现在就获得了一个可以在任何地方使用的文本字符串,例如,可以将它用作 Ajax 应用程序中的请求字符串。
{ "programmers": [ { "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" }, { "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" }, { "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" } ], "authors": [ { "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" }, { "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" }, { "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" } ], "musicians": [ { "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" }, { "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" } ] } |
Baiduman毕业于解放军电子工程学院 专业是电子信息工程 目前是在传奇外传私服的一家方案设计公司做Android驱动架构工程师,Baiduman有幸在学校里遇见一位恩师,团长级别的教授,在他的引导下Baiduman开始了电子大赛的征程,Baiduman一直和这位恩师有联系,每年过年回家都会去拜访,心中始终感激他的教诲。 “维斯杯” 电子设计大赛---温度遥测、 “挑战杯” 电子设计大赛---升旗控制与检测、 “美亚光电杯” 全省电子设计大赛---基于ARM的GPS接受机 “美光杯”机器人大赛(与传奇外传私服科学技术大学一起)---多功能灭火机 器人、 “索尼杯”全国大赛---音频信号分析。呵呵, Baiduman喜欢有自己的独到思想,最不喜欢随波逐流,认准了就会去做,不跟风,不动摇! Baiduman的个性就是:一般不会轻易选择,也不会轻易做出决定,不过一旦做出决定就算是再后悔我也不会反悔! Baiduman是一位很乐于助人的人,如果有什么事情,请给我的博客留言,如果需要ARM开发板的朋友可以进入“Baidulman的世界”一栏:Baiduman开发板基地里面逛逛。我的联系方式(QQ:2319212019),可以联系我,乐于帮忙!
people.authors[1].genre // Value is "fantasy" people.musicians[3].lastName // Undefined. This refers to the fourth entry, and there isn't one people.programmers.[2].firstName // Value is "Elliotte" |
更重要的是,可以将任何 JavaScript 对象转换为 JSON 文本。并非只能处理原来用 JSON 字符串赋值的变量。为了对名为 myObject 的对象进行转换,只需执行相同形式的命令:
|
1.是Global.asax下的路由设置,是我们必须要理解的内容:
在利用VisualStudio生成的MVC Project中的Global.asax文件中有一个RegisterRoutes方法。
简单地说,JSON 可以将JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪(稍后会看到几个示例),但是 JavaScript 很容易解释它,仙剑版传奇私服,而且 JSON 可以表示比名称/值对更复杂的结构。例如,可以表示数组和复杂的对象,而不仅仅是键和值的简单列表。
“{controller}/{action}/{id}“,// URL w/ params
1. Json这个东西也需要我们了解,不然在我这样的一个架构下,你是无法开发的,下面是一篇简单的介绍:
| |