前端开发的层面上浅谈json

JSON

  • 全称为JavaScript object  notation对象表示法,起源于JavaScript的数组和对象,说白了,就是JavaScript用来处理数据的一种格式,这种格式很简单,不过没有XML通用。
  • 大部分都是用来处理JavaScript和web服务器端的数据交换,把后台的web服务器的数据传递到前台,然后使用JavaScript进行处理。例如ajax等。
  • json支持的语言非常多,包括JavaScript,c#,php,java等..这是由于JSON独立的语言的轻量级的数据交换格式,这个特点类似于SQL语言。
  • 就是一种数据传输格式而已,其实json最大的用处是在处理JavaScript和web服务器端之间的数据交换。
  • json简单来说就是JavaScript中的对象或者数组,所以者两种结构就是对象和数组,通过者两种结构就可以表示各种复杂的结构。

JSON的对象结构

  • 对象的结构是使用{}括起来的,花括号里是由0个或者多个用英文逗号分隔开的,而json对象是这样子的。
var obj={

'键名1':值1,
'键名2':值1,
.
.
.
'键名n':值n,
}
  • 此时的obj指的是json对象,对象结构是以‘{'开始,到'}’结束。其中'键名'和‘值’之间用银问冒号构成对,两个“键名:值”之间用英文逗号分隔。
  • 注意:这里的键名是字符串,但是值可以是数值,字符串,对象,数组,或者逻辑true或者false

从JSON中读取数据

json.key
jsonobj['key']
  • 上面代码中jsonobj指的就是Json对象,其中的key指的是键名。

向JSON中写数据

jsonObj.key = 值;
jsonObj["key"] = 值;
  • 和向对象里写数据差不多。

修改JSON里面的数据

jsonObj.key = 新值;

删除JSON里面的数据

delete  jsonObj.key;
  • 使用delete关键词去删除即可。

遍历JSON里面的对象

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        var obj =
        {
            "name":"helicopter",
            "age":23,
            "gender":"男",
        }
        for(var c in obj)
        {
            if(c=="name")
            {
                document.write("姓名是:"+obj[c]);
            }
        }
    </script>
</head>
<body>
</body>
</html>
  • 对于JSON对象的结构,可以使用for..in循环来遍历JSON对象里面的数据。
  • 由于变量c是字符串,因此不能使用obj.c来获取JSON数据,而必须使用obj[c]来获取JSON数据。

 

JSON数组结构

  • JSON数组结构式用[]括起来的,中括号内部可由0个或者多个英文逗号‘,’分隔的值的列表组成。
var arr =
[
    {
        "键名1":值1,
        "键名2":值2
    },
    {
        "键名3":值3,
        "键名4":值4
    },
    ……
]
  • 上面代码中的arr指的JSON数组,数组结构是以“[”开始,到“]”结束,这一点和JSON对象不同,不过在JSON数组结构中,每一对‘{}’相当于一个JSON对象。
  • 注意:这里的键名是字符串,但是值可以是数值,字符串,对象,数组,或者逻辑true和false。
  • JSON的数组结构,只需要通过数组下标来获取哪个数组元素,然后再配合使用“.”操作符就可以获取相应数组元素的内部数据。
  • 若使用delete关键词删除了arr[0]删掉之后如果向获取arr[0]就会报错。

 

JSON对象和字符串

普通字符串

  • 使用单引号或双引号括起来的一串字符。
	
var str = "json";

JSON对象

var jsonObj = {"name":"helicopter","age":23,"gender":"男"};

JSON字符串

  • JSON字符串,指的是符合“JSON格式”的字符串。
  • JSON字符串要求两点:
  • 必须是字符串,也就是要用单引号或双引号括起来;
  • 必须符合“JSON”格式。
var jsonStr = '{"name": "helicopter", "age":23, "gender": "男"}';
  • JSON字符串说白了就是在JSON对象外面加一对单引号。

 

将JSON字符串转化为JSON对象

  • 将JSON字符串转换为JSON对象非常有用。一般,在Web服务器后台向前台传输数据的过程中,往往都是用字符串形式来传输JSON数据。如果我们在前台想要获取JSON数据,就必须将JSON字符串转换为JSON对象才能操作。
  • 现在大多数浏览器(IE8及以上,Chrome和Firefox差不多全部)自带原生JSON对象,提供JSON.parse()方法来将JSON字符串转换为JSON对象。
JSON.parse(字符串名); 
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        var jsonStr = '{"name": "helicopter", "age":23, "gender": "男"}';
        var jsonObj=JSON.parse(jsonStr);
        document.write("姓名是:"+jsonObj.name);
    </script>
</head>
<body>
</body>
</html>

感谢你的阅读。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值