Anything 2011-11-05
XML作为交换协议出现后,比早期C语言中按位数截取字符串的通信方式,由于可读性良好,而得到大家的广泛支持。但是随着使用的广泛,大家发现XML解析是个让人头痛的问题,JAVA语言中于是出现了jdom,dom4j等类库方便大家解析XML。但是javascript中 XML的解析是个让人头痛的问题,甚至看到不少开发人员在JS中用字符串拼凑链接等方式来表示。 而JSON 为 Web 应用开发者提供了另一种数据交换格式,很好的避免了XML在JS中难解析的问题。
下面让我们来看看什么是JSON,JSON 就是 javascript object natation ,是一种轻量级的数据交换格式,并且基于纯文本,便于阅读和机器解析。
下面介绍下JSON的一些基本用法:
1.对象在JSON中的表示
Object对象在JSON中是用{}包含一系列无序的Key-Value键值对表示的
Java代码
<script> var person = {"name":"tongshan","address":"hangzhou"}; alert("name:"+person.name); </script> <script> var person = {"name":"tongshan","address":"hangzhou"}; alert("name:"+person.name); </script>
上面代码可以看到将JSON字符串赋予一个JavaScript变量,那么就可以直接使用对象的任一属性了。
2.对象的嵌套
Value也可以是另一个Object或者数组,因此,复杂的Object可以嵌套表示
如果地方有省份和城市,那么代码如下:
Java代码<script> var person = {"name":"tongshan","address": {"province":"zhejiang","city":"hangzhou"}}; alert("province:"+person.address.province); </script> <script> var person = {"name":"tongshan","address":{"province":"zhejiang","city":"hangzhou"}}; alert("province:"+person.address.province); </script>
3.数组的表示
JSON还可以表示一个数组对象,使用[]包含所有元素,每个元素用逗号分隔
Java代码<script> var person = [{"name":"tongshan","address":{"province":"zhejiang","city":"hangzhou"}}, {"name":"yahoo","address":{"province":"beijing","city":"beijing"}}] alert("province:"+person[1].address.province); </script> <script> var person = [{"name":"tongshan","address":{"province":"zhejiang","city":"hangzhou"}}, {"name":"yahoo","address":{"province":"beijing","city":"beijing"}}] alert("province:"+person[1].address.province); </script>
以上就是JSON的一些简单使用,应用 JSON,我们可以从 XML 的解析中摆脱出来,对那些应用 Ajax 的 Web 2.0 网站来说,JSON 确实是目前最灵活的轻量级方案。