这里有新鲜出炉的精品教程,程序狗速度看过来!
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。它基于 JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON 采用完全独立于语言的文本格式,但是也使用了类似于 C 语言家族的习惯(包括 C, C++, C#, Java, JavaScript, Perl, Python 等)。这些特性使 JSON 成为理想的数据交换语言。
本文详细介绍了 js 中 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(',') + '}';
- }
来源: http://www.phperz.com/article/17/0511/330297.html