JSON(读Jason)是为了能够使得数据格式成为一种标准,更简单的被JavaScript解析。
优点
1、轻量级的数据交换格式
2、人们读写更加容易
3、易于机器的解析和生成
4、能够通过JavaScript中eval()函数解析JSON
5、JSON支持多语言。包括:ActionScript, C, C#, ColdFusion, E, Java, JavaScript, ML, Objective CAML, Perl, PHP, Python, Rebol, Ruby, and Lua.
语法
JSON语法是一种用于传输和生成数据的协定,很类似于C家族的语言,所以很容易被C家族的语言所解析。
对象:对象包含在{}之间
属性:采用Key-Value对来表示。属性之间使用逗号分开。 string : value
数组:数组存放在[]之间 [ elements ]
元素:元素之间用逗号分开
值:值可以是字符串,数字,对象,数组,true,false,null
例子:JSON
简单 JSON 示例
按照最简单的形式,可以用下面这样的 JSON 表示名称/值对:
{ ”firstName”: ”Brett” }
这个示例非常基本,而且实际上比等效的纯文本名称/值对占用更多的空间:
firstName=Brett
但是,当将多个名称/值对串在一起时,JSON 就会体现出它的价值了.首先,可以创建包含多个名称/值对的记录,比如:
{ ”firstName”: ”Brett”, ”lastName”:”McLaughlin”, ”email”: ”[email protected]” }
如果使用 JSON,就只需将多个带花括号的记录分组在一起:
//第一部分 var list1 = [1,3,4]; alert(list1[1]); var list2 = [{"name":"leamiko","xing":"lin"}]; alert(list2[0]["xing"]) alert(list2[0].xing) //第二部分 var value = { ”china”:{ ”hangzhou”:{“item”:”1″}, ”shanghai”:{“item”:”2″}, ”chengdu”:{“item”:”3″} }, ”America”:{ ”aa”:{“item”:”1″}, ”bb”:{“item”:”2″} }, ”Spain”:{ ”dd”:{“item”:”1″}, ”ee”:{“item”:”2″}, ”ff”:{“item”:”3″} } }; for(var countryObj in value) { document.write(countryObj + ”:<br />”) //没用的for(var cityObj in value.countryObj) for(var cityObj in value[countryObj]) { document.write(‘ ’ + cityObj + ”<br />”); for(var itemObj in value[countryObj][cityObj]) { document.write(“ ”+ itemObj + value[countryObj][cityObj][itemObj] +”<br />”) } } } //第三部分 var value2 = { "china":[ {"name":"hangzhou", "item":"1"}, {"name":"shanghai", "item":"2"}, {"name":"sichuan", "item":"3"} ], "America":[ {"name":"aa", "item":"12"}, {"name":"bb", "item":"2"} ], "Spain":[ {"name":"cc", "item":"1"}, {"name":"dd", "item":"23"}, {"name":"ee", "item":"3"} ] }; for (var countryObj in value2) { document.write(countryObj + ":<br />") for (var cityObj in value2[countryObj]) { //可以用document.write("-----" + value2[countryObj][cityObj].item + "<br />"); document.write(cityObj + " ++++++ " + value2[countryObj][cityObj]["name"] + "<br />" ); } } //第四部分 var value2 = { ”china”:[ {"name":"hangzhou", "item":"1"}, {"name":"shanghai", "item":"2"}, {"name":"sichuan", "item":"3"} ], ”America”:[ {"name":"aa", "item":"12"}, {"name":"bb", "item":"2"} ], ”Spain”:[ {"name":"cc", "item":"1"}, {"name":"dd", "item":"23"}, {"name":"ee", "item":"3"} ] }; for (var countryObj in value2) { document.write(countryObj + ”:<br />”) //document.write(“ ” + value2[countryObj].length); for (var i = 0;i < value2[countryObj].length; i++) { document.write(“ ” + value2[countryObj][i]["name"] + ”<br />”); } }