0
点赞
收藏
分享

微信扫一扫

原创:JSON入门详解

(JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。JSON它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包。它易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。

二、 JSON 的编写规则

 JSON 的规则很简单:对象是一个无序的 “‘ 名称 / 值 ’ 对 ” 集合。一个对象以 “{” (左括号)开始, “}” (右括号)结束。每个 “ 名称 ” 后跟一个 “:” (冒号); “‘ 名称 / 值 ’ 对 ” 之间使用 “,” (逗号)分隔 。

   规则如下 :

  1 、映射用冒号( “ :)表示。名称 : 值

   2 、并列的数据之间用逗号( “ , ” )分隔。名称 1: 值 1, 名称 2: 值 2

   3 、映射的集合(对象)用大括号( “{}” )表示。

      {

         名称 1: 值 1,

         名称 2: 值 2

      }

   4 、并列数据的集合(数组)用方括号 (“[]”) 表示。

         [

           { 名称 1: 值 , 名称 2: 值 2},

           { 名称 1: 值 , 名称 2: 值 2}

         ]

   5 、元素值可具有的类型: string, number, object, array, true, false, null

 

     注意:1 、JSON 用冒号( 而不是等号) 来赋值。每一条赋值语句用逗号分开。整                          个对象用大括号封装起来。可用大括号分级嵌套数据。

2、 对象描述中存储的数据可以是字符串,数字或者布尔值。对象描述也可存储函数,那就是对象的方法。

三、 JSON 主要有两种数据结构

 1 、由 key--value 对组成的数据结构。这种数据结构在不同的语言中有不同的实现 .

例如:在 javascript 中是一个对象 . 而在 java 中是一种 Map 结构 ,c 语言中是 struct ,其它的语言中可能为 record 、 hash table 等。

    2 、有序集合、这种数据结构在不同语言中可能有 list 、 vertor 、数组和序列等实现。

   3 、 javascript 中对这两种方式的语法

 1 )用于创建对象的语法

           JSON 语法创建对象更像一种 Map 结构 , 它是一种由 key-value 对组成数据结构。

如图就创建 Object 对象:总是以 { 开始以 } 结束 , 对象的每个属性名与属性值之间用英文的默冒号 (:) 分隔 , 多个属性之间用英文的 (,) 隔开:语法格式如下:

student = {

                     name:”kouxiaolin”,

                     age:22,

                      sex:” 女 ”

                     }

备注:使用 JSON 语法创建对象时 , 属性不仅可是普通的字符,而且可以是任何基本数据类型 , 还可以是函数 , 数组 , 甚至是另外一个用 JSON 语法创建的对象 .

比如:

         

  teacher = {
name:”xiaoqian”,
Student:{
Name:”kouxiaolin”,
Sex:”女”
},
//使用JSON为teacher对象分配一个方法
toString:function(){
alert(“方法的测试…….”);
}
}

2 )用于创建数组的语法

      用 JSON 创建数组是分常重要的

JSON 创建数组以英文的中括号 [ 开始 , 然后以中括号 ] 结束 . 其中放入数组的元素 . 元素之间用英文的逗号 , 分开最后的不需要英文逗号。

例如:

                    Arr = [value1,value2,value3,………]

通过上面的讲解我理解了 JSON 创建 Javascript 对象及数组的方式 , 那么下面我们就来实现 xml 与 Json 之间的转换 .

具体案例实现:

Xml 文件:

<? xml version="1.0" encoding="UTF-8"?>
< cities >
< province name=" 北京 " >
< city > 大兴 </ city >
< city > 昌平 </ city >
< city > 朝阳 </ city >
< city > 海淀 </ city >
< city > 东城 </ city >
< city > 西城 </ city >
</ province >
< province name=" 河南 " >
< city > 郑州 </ city >
< city > 安阳 </ city >
< city > 平顶山 </ city >
< city > 开封 </ city >
< city > 商丘 </ city >
< city > 洛阳 </ city >
</ province >
</ cities >

转换成 JSON :

 cities =[
province1:{
name: "北京",
city[
"大兴","昌平","朝阳","海淀","东城","西城"
]
} ,
province2: {
name: " 河南 " ,
city[
" 郑州 " , " 安阳 " , " 平顶山 "," 开封 "," 商丘 "," 洛阳 "
]
}
]

举报

相关推荐

0 条评论