几个关于的对象数组json键值对的问题??

我们知道简单的创建对象和数组的格式可以有下面的这样的方法,
那json 和 键值对又是什么鬼,他们有什么用?

 对象 var person={
   name:'小明',
   age:5,
   sex:'男'
}

数组
var person=[{
  name:'小明',
   age:5,
   sex:'男'
},{  name:'小红',
   age:6,
   sex:'女'}]
阅读 4.3k
2 个回答

JSON的全名称是(JavaScript Object Notation),是由JavaScript中物件字面定义所延伸出来的一种描述資料結構的格式。所以你看到的用于描述对象的语法,就是用于物件字面定义使用的。物件字面定义,使用的就是键-值对应的格式,键代表的是物件属性名,值是代表这个属性的值。你可以往JavaScript中的物件相关资料进一步参考。

因为JSON是一种纯文字格式,所以仍然与真正的JavaScript物件字面定义有些差异,例如无法定义物件中的函数定义。它可以支援的定义值如下:

  • 数值(Number)

  • 字串(String),以(")框住

  • 布林(Boolean),(true或false)

  • 数组(Array),用方括([])框住

  • 物件(Object),(以键-值描述,一样用花括({})框住)

  • null

JSON格式通常用于JavaScript中作为资料交换时使用,例如使用Ajax或fetch与伺服器交换资料时,透过这个格式获得资料或送出资料,是一种很常被使用的资料交换格式。当然,这不限于JavaScript程式,JSON格式在许多程式语言中已经都有实作好的解析器或编码器的方法或模组。

NoSQL资料库有许多也是采行键-值设计,例如常见的MongoDB采用了BSON格式,也就式二进位的JSON(Bin­ary JSON),用类似于JSON的文档,但是是二进位元的。

JSON是基于文本的数据格式,而JS对象是一个实例,是存在于内存的一个东西。

此外,JSON是可以传输的,因为它是文本格式,但是JS对象是没办法传输的,在语法上,JSON也会更加严格,但是JS对象就很松了。

附一张json和js对象的对比图

图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题