SJ中的json 及多维json

论坛 期权论坛 脚本     
匿名技术用户   2020-12-23 12:14   35   0
规则如下:
1)映射用冒号(“:”)表示。名称:值
2)并列的数据之间用逗号(“,”)分隔。名称1:值1,名称2:值2
3) 映射的集合(对象)用大括号(“{}”)表示。{名称1:值1,名称2:值2}
4) 并列数据的集合(数组)用方括号(“[]”)表示。
[
{名称1:值,名称2:值2},
 
{名称1:值,名称2:值2}
 
]
5 )元素值可具有的类型:string, number, object, array, truefalsenull
 
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++){
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>
总结:
  1.json为{键:值} 对的组合。
  2.键可以带‘’号,也可以不带‘’。但键名不能为数字,不然读取数据时会出错。
  3.多维json.一定是数组与json的嵌套。
var test1={'info':[{corporation_info:[{zy:'这是专业'},{job:'这是工作'}]}]};
注意:多维里面,只要值是一个对象,那么这个值一定要被写成数组元素。如上面的‘info’的值。
  4.多维数组的读取,也要遵守数组的方式。
alert(test1.info[0].corporation_info[0].zy);
alert(test1.info[0].corporation_info[1].job);

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP