zoukankan      html  css  js  c++  java
  • JSON

    1.JSON语法

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        
    </head>
    <body>
        <!-- 
            1.Jason是另一种创建对象实例的方法
            2.json数据的表示方式成对的参数与值
            3.可以转换为字符串进行存储和转换
         -->
         <script>
            var jsonobject=
            {
                //参数和值的对应关系
                "gushi1":"落花人独立",
                "gushi2":"微雨燕双飞"
            }
            alert(jsonobject.gushi1);
        </script>
    </body>
    </html>


    2.JSON优点

    1)序列化的数据便于在网络环境中进行存储和传输

    2)JSON的用途类似于XML,但是它更容易阅读和理解

    3)XML解析过程慢,JSON提供的是JavaScript对象可以随时使用

    3.JSON易于阅读

    1)JSON可以快速创建和解析

    2)是JavaScript的一个子集,不需要特殊的解释程序或额外的软件包

    3)见名知意

    4)概念简单.都是   "参数":"值"对


    3.访问JSON数据

    1)去序列化:还原JSON字符串编码的数据-->将字符串转换为JavaScript代码

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>使用eval()</title>
    </head>
    <body>
         <!--  
           eval()函数会计算或运行作为参数传递的内容
           例:var x = eval(4*3); //x=12
         -->
         <script type="text/javascript">
             //JSON语法 "参数":"值" 的形式
             //参数不能是纯数字
            var user = '{"shiju1":"蛾儿雪柳黄金缕","shiju2":"笑语盈盈暗香去","shiju3":"众里寻他千百度"}';
            //使用eval解析
            var myObject = eval('('+user+')');
            //myObject可以使用参数句号形式访问值
            alert(myObject.shiju1);
         </script>
    </body>
    </html>

    2)浏览器解析JSON语法

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>使用浏览器解析JSON</title>
    </head>
    <body>
        <!-- 
            某些浏览器会创建一个名为JSON的JavaScript对象来管理JSON的编码和解码.这个对象有两个方法
            stringify()   parse()
         -->
         <script type="text/javascript">
             //JSON语句 "参数":"值"
             var Mary ='{"shici1":"众里寻他千百度","shici2":"蓦然回首","shici3":"那人却在灯火阑珊处"}';
             //浏览器解析  返回的是数组
             var myObject = JSON.parse(Mary);
             var result = "";
             //i对应参数
             for(i in myObject){
                 result += i + "="+myObject[i] +"
    ";
             }
             alert(result);
         </script>
    </body>
    </html>

                                                                                    

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>JSON.stringify</title>
    </head>
    <body onload="jsonParse()">
        <script type="text/javascript">
            function jsonParse(){
                //将提示框的返回值作为被解析JSON语句
                var inString = prompt("Enter JSON object");
                var out = "";
                //解析完的是一个数组
                myobject = JSON.parse(inString);
                //遍历
                //i对应参数
                for(i in myobject){
                    out +="JSON序列对:"+i+"="+myobject[i]+'
    ';
                }
                alert(out);
            }
        </script>
    </body>
    </html>

                                                                                   

     3)stringify方法

          

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>stringify</title>
    </head>
    <body>
        <!-- 
            序列化:数据转换为便于通过网络进行存储和传输的形式
            稍后再回复为原始的格式
         -->
        <script type="text/javascript">
            var Dan=new Object();//创建对象
            Dan.height=1.85;
            Dan.age=18;
            Dan.eyeColor="blue";
            alert(JSON.stringify(Dan));
        </script>
    </body>
    </html>


    4.JSON数据类型

    每个 "参数":"值"   参数必须遵循一些简单的语法规则

    1)不能是JavaScript保留的关键字

    2)不能以数字开头

    3)除了下划线与美元 不能包含任何特殊字符

    每个值可以是以下一些数据类型

    数值   字符型   布尔值  数组   对象   null(空)

    注意:JavaScript有些数据类型不属于JSON标准,包括date error math function


    5,JSON模拟关联数组

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <script type="text/javascript">
            var conference=
            {
                "startDay":"Monday",
                "nextDay":"Tuesday",
                "endDay":"wednesday"
            }
            alert(conference["endDay"]);
            alert(conference.nextDay)
            //conference["参数值"]
            //等价于
            //conference.参数值
        </script>
    </body>
    </html>

    温馨小提示:JSON是独立于任何编程语言和平台的,很多编程语言如:java PHP c都含有JSON库和工具

             


    6,使用JSON创建对象

    1)属性

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        
    </head>
    <body>
        <!-- 
            1.Jason是另一种创建对象实例的方法
            2.json数据的表示方式成对的参数与值
            3.可以转换为字符串进行存储和转换
         -->
         <script>
            var jsonobject=
            {
                //参数和值的对应关系
                "gushi1":"落花人独立",
                "gushi2":"微雨燕双飞"
            }
            alert(jsonobject.gushi1);
        </script>
    </body>
    </html>

    2)方法

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <script type="text/javascript">
            var user=
            {
                "username":"phib1234",
                "location":"Spain",
                "height":"1.80",
                "setName":function(newName)
                {
                    this.username=newName;
                }
            }
            var newName=prompt("Enter a new username");
            user.setName(newName);
        </script>
    </body>
    </html>

    3)数组

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <script>
            var bookListObject={
            "booklist":["Foundation",
            "Dune",
            "Q萌果子C",
            "2001 A Space Odyssey",
            "Stringer In A Stringe Land"
            ]    
            }
            var book=bookListObject.booklist[2];
            alert(book);
        </script>
    </body>
    </html>

    4)对象

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Understanding JSON</title>
        <script type="text/javascript">
            var bookListObject={
                "booklist":[{"title":"Foundation","author":"Isaac Asimov"},
                {"title":"Dune","author":"Frank Herbert"},
                {"title":"Eon","author":"Greg Bear"},
                {"title":"2001 A Space Odyssey","author":"Arthur C.Clarke"},
                {"title":"Stranger","author":"Robert A.Heinlein"}]
                }
                
                //保存用户消息的一个变量
                var  out="";
    
                //获取数组
                var  books=bookListObject.booklist;
    
                 //获取数组,一本一本地获取图书
                for(var i=0;i<books.length;i++)
                {
                  var booknumber=i+1;;
                  out+="Book"+booknumber+
                     "is:'"+books[i].title+
                     "'by"+books[i].author+
                     "
    ";
                }
            
        </script>
    </head>
    <body onload="alert(out)">
    
    </body>
    </html>
  • 相关阅读:
    Android开发日志问题
    Android 常用的快捷键(随时更新)
    Android v4 包和v7包问题
    mongoDB 3.0.3 以上GUI 连接认证问题
    python(6)
    python学习(5)
    01_数字滤波器调研
    动态称重数据处理算法及其在禽蛋和类球形水果分选中的应用研究-01
    点云学习
    10-视频图像读取与保存
  • 原文地址:https://www.cnblogs.com/zjm1999/p/10458724.html
Copyright © 2011-2022 走看看