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(',') + '}';
}
Json之语法的更多相关文章
- Json的语法及使用方法
Json的语法及使用方法 Json(JavaScript Object Notation)对象表示标识,是一种轻量级的数据交换语言,比XML更容易解析,独立于语言和平台. 语法规则: 对象用{}保存 ...
- JSON.stringify 语法实例讲解+easyui data-options属性+expires【申明:来源于网络】
JSON.stringify 语法实例讲解+easyui data-options属性+expires[申明:来源于网络] JSON.stringify 语法实例讲解:http://www.jb51. ...
- JSON字符串语法
JSON 语法是 JavaScript 对象表示语法的子集. 数据在键/值对中展示, 多个数据由逗号分隔, 花括号保存一个对象, 方括号保存一个数组 JSON具有以下形式: 1. 对象(object) ...
- 【js】JSON.stringify 语法实例讲解
语法: JSON.stringify(value [, replacer] [, space]) value:是必选字段.就是你输入的对象,比如数组,类等. replacer:这个是可选的.它又分为 ...
- JSON.stringify语法解析(自己留存)
语法: JSON.stringify(value [, replacer] [, space]) value:是必选字段.就是你输入的对象,比如数组,类等. replacer:这个是可选的.它又分为2 ...
- JSON.stringify 语法实例讲解
语法: JSON.stringify(value [, replacer] [, space]) value:是必选字段.就是你输入的对象,比如数组,类等. replacer:这个是可选的.它又分为 ...
- [转]JSON.stringify 语法实例讲解
原文地址:http://www.jb51.net/article/29893.htm 作用:这个函数的作用主要是为了系列化对象的. 可能有些人对系列化这个词过敏,我的理解很简单.就是说把原来是对象的类 ...
- JSON 基本语法
JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 XML 更小.更快,更易解析. ...
- JSON.stringify 语法实例讲解 字符串
语法: JSON.stringify(value [, replacer] [, space]) var student = new Object(); student.name = "La ...
- Json之语法,格式
JSON 文本格式在语法上与创建 JavaScript 对象的代码相同.由于这种相似性,无需解析器,JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 Jav ...
随机推荐
- Apache Tomcat 6.0 Tomcat6 服务因 1 (0x1) 服务特定错误而停止
1.Tomcat目录下的bin
- jstl <fmt:formatNumber>标签
标签用于格式化数字,百分比和货币. 如果type属性为百分比或数字,则可以使用多个数字格式属性.maxIntegerDigits和minIntegerDigits属性允许您指定数字的非分数部分的大小. ...
- javascript数据结构——队列
队列是一种先进先出的数据结.队列只能在队尾插入元素,在队首删除元素,这点和栈不一样.它用于存储顺序排列的数据.队列就像我们日常中的排队一样,排在最前面的第一个办理业务,新来的人只能在后面排队.队列这种 ...
- svn: E200009: 'lib/systemd/system/dropbear@.service': a peg revision is not allowed here problem
case: svn add lib/systemd/system/dropbear@.service svn: E200009: 'lib/systemd/system/dropbear@.servi ...
- OO第二次单元总结
OO第二次单元总结 前言 第二单元的三次作业:系列电梯与多线程. 第五次作业 (1)设计策略 电梯的第一次作业是单部傻瓜电梯,采用FAFS调度策略,电梯按队列顺序依次处理请求,单次只处理一个请求.本次 ...
- spoj375
题解: 树链剖分的模板题 具体代码详见网上的其他代码 代码: #include<cstdio> #include<cmath> #include<cstring> ...
- Swift Tips笔记
“??”操作符可以判断输入并在当左侧的值是非 nil 的 Optional 值时返回其 value,当左侧是 nil 时返回右侧的值. 例: var level: Int? var startLeve ...
- WLAN 802.11 a/b/g PHY Specification and EDVT Measurement V
Receive Minimum Input Level (Sensitivity) 测试方法: Receiver Adjacent Channel Rejection (ACR) -For IEEE8 ...
- Vue.js更改调试地址端口号
Vue项目一般使用自带的脚手架工具vue-cli和webpack打包方式进行项目构建运行.开发中,我们在控制台输入命令行npm run dev部署项目后,默认开启的页面调试地址是8080端口.但是有时 ...
- leetcode-1-TwoNums
flag -everyday do leetcode problems at least one and at most three. problem here 需要学习的是c++的map类型,之前竟 ...