json创建的几种方式的示例
//json:js对象表示法,是一种数据格式,它不是对象,只要是按照它这种格式创建的数据,就可以叫它json(严格来讲叫json格式的数据),记住,json只是一种数据格式虽然有时和js对象的字面量表示法有时候会相同,甚至一模一样.这时你叫它json格式的数据或者叫他js对象都行,这时那它都可以按这两种方式来访问.其实json的语法格式更严厉一点,k值是必须要用双引号扩起,s对象的字面量表示法就可以是单引号,双引号,甚至不用扩起,而且y值可以是方法,但json不可以.json是从js里面发展出来的,是js的子集.json格式的y值如果是字符串,要用双引号扩起,如果其他的不必.
json字符串:就是json格式的字符串(表现出来的是字符串,最外有引号扩起)
JSON(JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包。
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
JSON 用冒号(而不是等号)来赋值。每一条赋值语句用逗号分开。整个对象用大括号封装起来。可用大括号分级嵌套数据。
对象描述中存储的数据可以是字符串,数字或者布尔值。对象描述也可存储函数,那就是对象的方法。
JSON 只是一种文本字符串。它被存储在 responseText 属性中
为了读取存储在 responseText 属性中的 JSON 数据,需要根据 JavaScript 的 eval 语句。函数 eval 会把一个字符串当作它的参数。然后这个字符串会被当作 JavaScript 代码来执行。因为 JSON 的字符串就是由 JavaScript 代码构成的,所以它本身是可执行的
示例1:
<script language="JavaScript">
var people ={"firstName": "Brett", "lastName":"McLaughlin","email": "[email protected]" };
alert(people.firstName);
alert(people.lastName);
alert(people.email);
</script>
示例2:
<script language="JavaScript">
var people =[
{"firstName": "Brett","email": "[email protected]" },
{"firstName": "Mary","email": "[email protected]" }
];
alert(people[0].firstName);
alert(people[0].email);
alert(people[1].firstName);
alert(people[1].email);
</script>
示例3:
<script language="JavaScript">
var people ={
"programmers":
[
{"firstName": "Brett", "email": "[email protected]" },
{"firstName": "Jason", "email": "[email protected]" }
]
};
window.alert(people.programmers[0].firstName);
window.alert(people.programmers[1].email);
</script>
示例4:
<script language="JavaScript">
var people ={
"programmers": [
{ "firstName": "Brett", "email": "[email protected]" },
{ "firstName": "Jason", "email": "[email protected]" },
{ "firstName": "Elliotte", "lastName":"Harold", "email": "[email protected]" }
],
"authors": [
{ "firstName": "Isaac", "genre": "science fiction" },
{ "firstName": "Tad", "genre": "fantasy" },
{ "firstName": "Frank", "genre": "christian fiction" }
],
"musicians": [
{ "firstName": "Eric", "instrument": "guitar" },
{ "firstName": "Sergei", "instrument": "piano" }
]};
window.alert(people.programmers[1].firstName);
window.alert(people.musicians[1].instrument);
</script>
示例5:
<script language="JavaScript">
var people ={
"username":"mary",
"age":"20",
"info":{"tel":"1234566","celltelphone":788666},
"address":[
{"city":"beijing","code":"1000022"},
{"city":"shanghai","code":"2210444"}
]
};
window.alert(people.username);
window.alert(people.info.tel);
window.alert(people.address[0].city);
</script>
json小结:
优点:作为一种数据传输格式,JSON 与 XML 很相似,但是它更加灵巧。
JSON 不需要从服务器端发送含有特定内容类型的首部信息。
缺点:
语法过于严谨
代码不易读
eval 函数存在风险