解析JSON数据(一)

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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值