zoukankan      html  css  js  c++  java
  • JSON

    一 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>

       

  • 相关阅读:
    uva11025 The broken pedometer
    uva131 The Psychic Poker Player
    子集生成算法
    uva10167 Birthday Cake
    poj1129 Channel Allocation
    poj2676 Sudoku
    Emacs杂谈(一)Emacs环境 c++ 快捷键
    poj1416 Shredding Company
    英文报刊推荐
    搜索练习(二)工作效益
  • 原文地址:https://www.cnblogs.com/qianqian-it/p/9579037.html
Copyright © 2011-2022 走看看