浅谈JSON的两种数据结构
JSON主要有两种数据结构:
1、由key--value对组成的数据结构。这种数据结构在不同的语言中有不同的实现。
例如:在javascript中是一个对象.而在java中是一种Map结构,c语言中是struct,其它的语言中可能为record、 hash table 等。
2、有序集合、这种数据结构在不同语言中可能有list、vertor、数组和序列等实现。
下面我就来研究javascript中对这两种方式的语法。
1、 用于创建对象的语法
JSON语法创建对象更像一种Map结构,它是一种由key-value对组成数据结构。
创建Object对象:总是以{开始以}结束,对象的每个属性名与属性值之间用英文的默冒号(:分隔,多个属性之间用英文的(,)隔开:语法格式如下:
Student = { Name:’z_xiaofei168’ …… Sex:’男' }
Student = { Name:’z_xiaofei168', …… Sex:’男' }
备注:
使用JSON语法创建对象时,属性不仅可是普通的字符,而且可以是任何基本数据类型,还可以是函数,数组,甚至是另外一个用JSON语法创建的对象.
比如:
Teacher = { Name:’z_xiaofei168', Student:{ Name:’xuedong’, Sex:’男' } //使用JSON为teacher对象分配一个方法 toString:function(){ alert(“方法的测试…….”); } }
2、 用于创建数组的语法
用JSON创建数组是分常重要的.
JSON创建数组以英文的中括号[开始,然后以中括号]结束.其中放入数组的元素.元素之间用英文的逗号,分开最后的不需要英文逗号。
例如:
Arr = [value1,value2,value3,………]
通过上面的讲解我理解了JSON创建Javascript对象及数组的方式,那么下面我们就来实现xml与Json之间的转换.
<?xml version="1.0" encoding="UTF-8"?> <cities> <province name="北京"> <city>昌平</city> <city>朝阳</city> <city>海淀</city> </province> <province name="河北"> <city>石家庄ity> <city>保定</city> <city>张家口</city> </province> </cities>
转换成JSON
cities =[ province1:{ name:’河北', city[ ’石家庄','保定',... ] } province2:... ]