原创:JSON入门详解

JSONJavaScript ObjectNotation)一种简单的数据格式,比xml更轻巧。JSON它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。JSONJavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包。它易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScriptStandard 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[
" 郑州 " , " 安阳 " , " 平顶山 "," 开封 "," 商丘 "," 洛阳 "
]
}

]

以上内容归redarmy_chen原创,版权归redarmy_chen所有不得随意转载如有问题请发送邮件到redarmy_chen@qq.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值