首页
学习
活动
专区
工具
TVP
发布

JSON

作者头像
用户3159471
发布2018-09-13 10:40:01
2.1K0
发布2018-09-13 10:40:01
举报
文章被收录于专栏:web前端-web前端-

一 JSON的简介

  1 .JSON是一种轻量级的数据交换格式

  2. JSON通常用于服务器端向网页传递数据

  3 JSON 是存储和交换文本信息的语法。类似 XML;

  4 JSON是在AJAX中代替XML交换数据的更佳方案。

二 JSON语法规则

数据使用键值对的方式;

    数据由逗号分割;

    大括号保存对象;

    方括号保存数组

 JSON 值可以是:

    1. 数字(整数或浮点数)
    2. 字符串(在双引号中)
    3. 逻辑值(true 或 false)
    4. 数组(在方括号中)
    5. 对象(在花括号中)
    6. null
<script>
      //js中的对象表示
  var user={
    name:'张三',
    age:'30'
  }
   //josn对象表示
   
   //json本质上是字符串

   //普通数组 
    var arr=["aaa",100,true]

  //json数组
    ["aaa",100,true] //少了变量赋值

  //数组对象组合嵌套使用
  [{
    "name":"aaa",
    "age":30
  },{
    "name":"bbb",
    "age":25
  },{
    "name":"ccc",
    "age":18
  }]
</script>

三:JSON 的解析和序列化

    一般情况下,我们的json数据都是从服务端获取到的,获取的json数据是以字符串的形式返回的。这个字符串虽然是json格式的,但是不能被直接使用,我们必须将该字符串转化为一个对象才能正常解析它

  JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象,但是存在安全问题(如果JSON中包含恶意代码也会被直接执行)

      使用 JSON 解析器将 JSON 转换为 JavaScript 对象是更安全的做法。JSON解析器只会识别JSON文本,而不会执行

      JSON 的解析:json数据转换成js对象

    语法:var myObject = JSON.parse(myJSONtext, reviver);

 JSON的序列化:js对象转换成json数据(字符串)
         var myJSONText = JSON.stringify(myObject, replacer);
  <script>
  //实际使用的时候json数据需要从服务器加载,这里假定下面的数据是从服务器加载过来的,来演示后续的操作。
  var jsonstr='[{"name":"aaa","age":30},{"name":"bbb","age":25},{"name":"ccc","age":18}]';
  //alert(typeof(jsonstr))
 //json数据转换成js对象
    //var jsonobj=JSON.parse(jsonstr);
    //alert(jsonstr)
   // alert(jsonobj[0].name)
    //alert(typeof(jsonobj))

    var jsonobj=JSON.parse(jsonstr,function(key,value){
        if ((key=='name')) {
          alert('VIP会员:'+value) ;
        }else
        {
           alert(value)
        }
    });


  </script>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-09-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档