JS中的JSON对象的定义和取值实现代码
1.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
2.json中的五种写法:
1)传统⽅式存储数据,调⽤数据
<script type="text/javascript">
//JS传统⽅式下定义"类"
function Person(id,name,age){
this.id = id;
this.name = name;
this.age = age;
}
//JS传统⽅式下创建"对象"
var p = new Person(20141028,"⼀叶扁⾈",22);
//调⽤类中的属性,显⽰该Person的信息
window.alert(p.id);
window.alert(p.name);
window.alert(p.age);
</script>
2)第⼀种样式:
<script type="text/javascript">
var person = {
id:001,
name:"⼀叶扁⾈",
age:23
}
window.alert("编号:"+person.id);
window.alert("⽤户名:"+person.name);
window.alert("年龄:"+person.age);
</script>
3)第⼆种样式:
<script type="text/javascript">
var p = [
{id:001,name:"⼀叶扁⾈",age:22},
{id:002,name:"⽆悔",age:23},
{id:003,name:"⽆悔_⼀叶扁⾈",age:24}
];
for(var i = 0; i < p.length; i++){
js调用方法的三种写法window.alert("编号:"+p[i].id);
window.alert("⽤户名:"+p[i].name);
window.alert("年龄:"+p[i].age);
}
</script>
4)第三种样式:
<script type="text/javascript">
var p = {
"province":[
{"city":"福州"},
{"city":"厦门"},
{"city":"莆⽥"}
]
};
window.alert("所在城市:" + p.province[0].city);
</script>
5)第四种样式:
<script type="text/javascript">
var p = {
"ids":[
{"id":001},
{"id":002},
{"id":003}
],
"names":[
{"name":"⼀叶扁⾈"},
{"name":"⽆悔"},
{"name":"⽆悔_⼀叶扁⾈"}
]
};
for(var i = 0; i < p.names.length; i++){
window.alert("名字:"+p.names[i].name);
}
for(var i = 0; i < p.ids.length; i++){
window.alert("id:"+p.ids[i].id);
}
</script>
6)第五种样式:
<script type="text/javascript">
var p = {
"province":["福州","厦门","莆⽥"]
};
window.alert("城市的个数:"+p.province.length);
window.alert("分别是:\n");
for(var i=0;i<p.province.length;i++){
window.alert(p.province[i]);
}
</script>
这篇⽂章看到这基本上也看懂了吧,⼤家可以⾃⼰⼿写代码,运⾏⼀下就了解其中的奥妙了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论