码迷,mamicode.com
首页 > Web开发 > 详细

Json之语法,格式

时间:2015-05-30 20:59:47      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:

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(‘,‘) + ‘}‘;
}

Json之语法,格式

标签:

原文地址:http://www.cnblogs.com/feng-NET/p/4540882.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!