对于Json数据的理解

首先由数组引入,因为Json数据复杂就是复杂在数组和对象交错

数组存在的意义以及对List集合和Map集合的思考

数组是为了简化多个同类型的变量的命名 其实数组变量与普通的变量并无区别, 仍旧还是键值对的形式,键 :变量名,或者说独特的标记 值 :值

数组的变量名是 数组名加下标,也就是说虽然数组是一个整体,但实际上数组里的每个元素都是一个独立的变量, 变量名是数组名加下标

集合 ,集合中也是,虽然集合对象本身是一个整体,但是集合内的每个元素都是独立的元素,List中每个元素的变量名不太明显,可以理解为 list.get(index)就是其元素名,而Map集合中每个元素的名字和值就在明显不过了,毕竟已键值对的形式存在

在容器内存储的元素不太多时,使用下标的形式便可以很容易的区分各个元素,但是当容器内元素很多时,用数字这一简单形式区分各元素明显就不容易了。习惯性的,人类采取字符串的形式区分各元素,字符串是对象,而满足键可以是对象,值也可以是对象的集合很明显是Map集合。。。也就说,如果人的记忆力足够强,过目不忘,Map 集合存在是没有意义的,因为List集合能满足所有需求,但很明显人没有。。。而有了Map人可以不用费力的去记忆下标1、2、3、4都是什么,在根据 1、2、3对应的键去寻找值,比如想找水果,就要先想到水果对应索引1,而再根据索引1,取到水果的值

而Map集合则不用这么麻烦,想找水果,则直接取水果的值就好

但如果不需要详细区分容器内的每个元素,只是单纯的想找个容器先存储数据,待以后处理,则List集合明显就满足需求的

(容易不容易区分都是针对于智人这一物种来说的,因为微小的区别和巨大的区别,对于电脑来说都很好区别),

json 数据 普通变量var per = {“name”,“value”};

数组var arr = [value1,value2];

这样再来理解json数据就比较简单了

var arr = [“a”,“b”];
var obj = {“name1”,value1,“name2”,value2};

这两个对象形式本质上是一样的,其实都是一个对象里有两个成员变量,第一个对象arr里的两个成员变量的变量名,
分别是arr[0],和arr[1] ,值分别是 “a”,“b”

第二个对象obj里,两个变量的变量名分别是"name1",“name2” ,值分别是,value1,value2

对象arr和obj的区别更像是List集合与Map集合的区别,那是否可以将Map集合转化为json数据呢??虽然一般时候没必要特别的建立一个Map集合存储变量

如果能,json格式应该是这样的
var x = [{
“Map”:{“name1”:v1,
“name2”:v2,
“name3”:[ele1,ele2,ele3]} //这个数组里面的三个元素的名字分别是
,“Ele2”:value2 // x[0].Map.name3[0] , x[0].Map.name3[1] , x[0].Map.name3[0],
,“Ele3”:value3 // x[0].Map.name3[1] //javaScript的特点 。。命名时是字符串,取出时像变量。。。
}];

这个json数据第一个大元素是名为Map的对象,他有3个变量,name1,name2,以及name3,而name3是一个数组,它里面又包含三个元素,或者说这个说组本身就是三个元素,这三个元素分别是name3[0],name3[1],name3[2] ,其实如果数组光有名,没有元素是没有存在意义的,就像变量名必须依附于实际内存,而永远不会被赋予内存的变量名是没有意义的, 数组元素与数组名是相伴共生的关系 !!!

第二个大元素,元素名是Ele2,值是value2,第三个大元素,或者也可以说变量,变量名是Ele3,值是value3。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值