JS中的JSON对象的定义和取值实现代码

时间:2021-05-26

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++){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>

这篇文章看到这基本上也看懂了吧,大家可以自己手写代码,运行一下就了解其中的奥妙了。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章