zoukankan      html  css  js  c++  java
  • Json之语法

    JSON 文本格式在语法上与创建 JavaScript 对象的代码相同。 由于这种相似性,无需解析器,JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 JavaScript 对象。

    JSON                                                                                                                      语则:

    数据在 名称/值 对仲 数据由逗号分隔 花括号保存对象 方括号保存数组

    JSON 名称/值 对介绍

    "name":"张飞", "age":23

    Json的值可以是:                                                                                                      

    数字(整数或浮点数) 字符串(要包括在双引号中) 逻辑值(true或false) 数组(在方括号中) 对象(在花括号中)

    Json转javascript对象的方法为:                                                                                 

    eval("(" + str + ")");

    代码示例:

     
    <html>
    <head>
        <title>Json测试</title>
        <script src="/Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            //基本上,Json返回的要么是对象,要么是数组,如果单纯返回一个字符串,那么就没有必要用Json了,因此
            //Json基本就下面这些可,不过要注意双引号
            var str0 = "{employees:'测试'}";
            var obj0 = eval("(" + str0 + ")");
            alert(obj0.employees);          //输出测试
    
            var str = "{name:'张三',Age:21}";
            var obj = eval("(" + str + ")");
            document.write(obj.name + obj.Age);   //输出 张三21
            alert(obj.name);
    
            //别看下面那段Json长,其实是一个对象,属性employees的值是一个对象数组。和上面的相比,只是name:张三  中的"张三"字符串 变成了对象数组而已
            var str2 = '{ "employees" : [' + '{ "firstName":"Bill" , "lastName":"Gates" },' + '{ "firstName":"George" , "lastName":"Bush" },' + '{ "firstName":"Thomas" , "lastName":"Carter" } ]}';
            var obj2 = eval("(" + str2 + ")");
            alert(obj2.employees[0].firstName);     //弹出 Bill
    
            var str3 = "[1,2,3,4,5,6]";             //json 数组
            var obj3 = eval("(" + str3 + ")");      //输出 2
            alert(obj3[1]);
        </script>
    </head>
    <body>
        <div id="div1">
        </div>
    </body>
    </html>
     

    Json与JavaScript对象转换                                                                                        

      JSON转javascript对象

     
    //Json转对象1
    function JsonToObject(str) {
        return eval("(" + str + ")");
    }
    
    //Json转对象2 
    function strToJson(str){
        var json = (new Function("return " + str))();
        return json;
    }
    
    //Json转对象3 jQuery工具函数
    $.parseJSON()
     

      javascript对象转JSON

     
    //javascript对象转Json
    function ObjectToJson(o) {
        var arr = [];
        var fmt = function(s) {
            if (typeof s == 'object' && s != null) return json2str(s);
            return /^(string|number)$/.test(typeof s) ? "'" + s + "'" : s;
        }
        for (var i in o) arr.push("'" + i + "':" + fmt(o[i]));
        return '{' + arr.join(',') + '}';
    }
  • 相关阅读:
    TestStand ​自​定义​步骤​类型​开发​最佳​实践【2】
    TestStand ​用户​界面​开发​最佳​实践【3】
    Log4net
    Visual Studio 常用技巧
    LIN 总线
    C# Socket
    TestStand​ 代码​模​块​开发​最佳​实践【1】
    TestStand 基本知识[10]--在序列中调用代码模块之--LabVIEW
    TestStand 基本知识[9]--Step Properties
    C#中 Thread,Task,Async/Await,IAsyncResult 的那些事儿!
  • 原文地址:https://www.cnblogs.com/feng-NET/p/4541171.html
Copyright © 2011-2022 走看看