前端与服务器通讯的数据交换格式XML 、JSON

数据交换格式

就是服务器端与客户端之间进行数据传输与交换的格式。

前端领域,经常提及的两种数据交换格式分别是XML(使用较少)和JSON(主要)

XML

XML和HTML的区别

都是标记语言,但是,他们两者之间没有任何的关系。

HTML被设计用来描述网页上的内容,是网页内容的载体

XML被设计用来传输和存储数据,是数据的载体

XML的缺点

格式臃肿,和数据无关的代码多,体积大,传输效率低

在Javascript中解析XML比较麻烦

JSON

概念:JavaScript Object Notation 即JavaScript对象表示法,简单来讲 JSON就是JavaScript对象和数组的字符串表示法,它使用文本表示一个JS对象或数组的信息,因此JSON的本质是字符串。

作用:JSON 是一种轻量级的文本数据交换格式,在作用上类似于XML,专门用于存储和传输数据,但是JSON比XML更小、更快、更易解析。

现状:JSON是在2001年开始被推广和使用的数据格式,到现在为止,JSON已经成为了主流的数据交换格式。

JSON的对象结构:

用{}括起来内容的键值对,key必须是英文双引号包裹的字符串,value可以是数字、字符串、布尔值、null、数组、对象6种类型。

JSON的数组结构

用[] 括起来的内容。数据结构可以是数字、字符串、布尔值、null、数组、对象6种类型。

JSON注意事项

  1. 属性名必须用英文双引号包裹
  2. 字符串类型必须用英文双引号包含、不允许用单引号
  3. 不支持写注释(需另行安装依赖)
  4. 最外层必须是数组或者对象格式
  5. 不能使用undefined或function 作为JSON的值
JSONJS对象
键名字字符串必须双引号

键名双引号,单引号,或者无引号

字符串双引号,单引号或反引号

数据类型没有null,NaN,Infinity和函数多种类型都有
逗号最后一个键名对应的值不能有最后一个可加上

0.

不行可以

 

JSON的作用:在计算机与网络之间进行储存和传输数据

JSON的本质:用字符串来表示JavaScript 对象数据或数组数据

转换方法 

JSON => JS        JSON.parse()      反序列化

 const str = '{\n' +
    '"msg":"请求商品列表数据成功",\n' +
    '"state": 200,\n' +
    '"data":[\n' +
    '{\n' +
    '"id":5471,\n' +
    '"goodsClass":"CPU",\n' +
    '"goodsBrand":"英特尔",\n' +
    '"goodsName":"I3-12100F",\n' +
    '"goodsPrice":759\n' +
    '},\n' +
    '{\n' +
    '"id":5472,\n' +
    '"goodsClass":"GPU",\n' +
    '"goodsBrand":"索泰",\n' +
    '"goodsName":"GTX-1650",\n' +
    '"goodsPrice":1159\n' +
    '}\n' +
    ']\n' +
    '}'

  console.log(str)
  console.log(JSON.parse(str))

JS => JSON        JSON.stringify()   序列化

  let json1 = [
    {
      name:'莫德里奇',
      work:'中场',
      num:10
    },
    {
      name:'姆巴佩',
      work:'边锋',
      num:15
    },
    {
      name:'C罗',
      work:'前锋',
      num:7
    }
  ]

  console.log(json1)
  console.log(JSON.stringify(json1))
  console.log(typeof JSON.stringify(json1))

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值