AJAX技术提取伴奏,Ajax使用JSON进行数据传输.ppt

Ajax使用JSON进行数据传输

使用JSON进行数据传输 课程内容 JSON简介 使用JSON进行数据传输 什么是JSON JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成,而且它是基于JavaScript 的。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript 等)。这些特性使JSON成为理想的数据交换语言。 JSON有两种结构: “名/值”对的集合(A collection of name/value pairs)。在不同的语言中,它被理解为对象,结构,关联数组等 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组 这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。 JSON的基本形式 对象是一个无序的“名/值”对集合。一个对象以“{”开始,“}”结束。每个“名称”后跟一个“:” ;“名/值”对之间使用“,” 分隔: 数组是值(value)的有序集合。一个数组以“[”开始,“]”结束。值之间使用“,”分隔: 字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。 值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套 数值(number)与C或者Java的数值非常相似。 JSON示例 下面的JSON表示名称/值对: { "firstName": "Brett" } 多个名称/值对串在一起: { "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newI" } 从语法方面来看,这与名称/值对相比并没有很大的优势,但是在这种情况下 JSON 更容易使用,而且可读性更好 当需要表示一组值时,JSON 不但能够提高可读性,而且可以减少复杂性: { “employees": [ { "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newI" }, { "firstName": "Jason", "lastName":"Hunter", "email": "jason@" }, { "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@" } ] } 这比相应的XML格式表示的数据更加简洁: JSON示例(续) 相应的XML格式: < employee > BrettMcLaughlinbrett@newI employee > < employee > JasonHunterjason@ employee > < employee > ElliotteHaroldelharo@ employees > JSON vs. XML 可读性 JSON和XML的可读性可谓不相上下,XML略占上风。 可扩展性 XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的。 编码难度 XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有提供的工具,但是JSON的编码明显比XML容易许多,即使不借助工具也能写出JSON的代码,可是要写好XML就不太容易了。 解码难度 XML的解析得考虑子节点父节点关系,让人头昏眼花,而JSON的解析难度几乎为零。 流行度 XML已经被业界广泛的使用,而JSON才刚刚开始,但在Ajax领域,JSON凭借自身的优势有可能最终取代XML。 在JavaScript中使用JSON JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的 API 或工具包。 将JSON数据赋值给变量: var company = { “employees":

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值