JSON百度百科
JSON(JavaScript Object Notation)中文名(JavaScript 对象表示法 ) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(网络传输速率)。
JSON语法
JSON 语法是 JavaScript 对象表示语法的子集。
- 数据在键值对中
- 数据由逗号分隔
- 花括号保存对象
- 方括号保存数组
- JSON是纯文本的
- JSON简单说就是javascript中的对象和数组
- JSON 独立于语言和平台,JSON 解析器和库支持多种编程语言。
JSON示例
{
"students":
[
{"name":"zhangsan","age":18},
{"name":"lisi","age":20}
]
}
students是一个对象,它的值是包含了两个学生对象的数组
在JavaScript中使用JSON
JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。
<script type="text/javascript">
var studentsjson={
"students":
[
{"name":"zhangsan","age":18},
{"name":"lisi","age":20}
]
}
alert(studentsjson.students[0].name);
</script>
弹出信息会显示zhangsan,另外,json也可以增删改
增:
studentsjson.students[0].sex="男";
alert(studentsjson.students[0].sex);//显示男
studentsjson.students[2]={"name":"wangwu","age":21};
alert(studentsjson.students[2].name);//显示wangwu
删:
delete studentsjson.students[0];
alert(studentsjson.students[0].name);//不会显示任何东西
改:
studentsjson.students[0].name="tom";
alert(studentsjson.students[0].name);//显示tom
遍历JSON对象
1.向studentsjson中再添加一个键值对,表示年级
<script type="text/javascript">
var studentsjson={
"students":
[
{"name":"zhangsan","age":18},
{"name":"lisi","age":20}
],
"grade":2
}
for(var i in studentsjson){
alert(studentsjson[i]);
}
</script>
弹出的信息为:
把JSON文本转换为JavaScript对象
<script type="text/javascript">
var jsontxt='{"student":[{"name":"tom","age":26}]}';
//eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
var jsonobj=eval('('+jsontxt+')');
var studentjson=jsonobj.student[0];
alert(studentjson.name);//显示tom
</script>