详解js中Json的语法与格式


Posted in Javascript onNovember 22, 2016

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

以上就是本文的全部内容,希望对大家有所帮助,谢谢对三水点靠木的支持!

Javascript 相关文章推荐
一段好玩的JavaScript代码
Dec 01 Javascript
离开页面时检测表单元素是否被修改,提示保存的js代码
Aug 25 Javascript
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
Feb 25 Javascript
JQuery扩展插件Validate 1 基本使用方法并打包下载
Sep 05 Javascript
JavaScript Memoization 让函数也有记忆功能
Oct 27 Javascript
js的压缩及jquery压缩探讨(提高页面加载性能/保护劳动成果)
Jan 29 Javascript
js怎么终止程序return不行换jfslk
May 30 Javascript
概述jQuery中的ajax方法
Dec 16 Javascript
AngularJs上传前预览图片的实例代码
Jan 20 Javascript
详解webpack和webpack-simple中如何引入css文件
Jun 28 Javascript
H5+C3+JS实现五子棋游戏(AI篇)
May 28 Javascript
如何根据业务封装自己的功能组件
Apr 19 Javascript
AngularJS中一般函数参数传递用法分析
Nov 22 #Javascript
javascript入门之string对象【新手必看】
Nov 22 #Javascript
模板视图和AngularJS之间冲突的解决方法
Nov 22 #Javascript
js入门之Function函数的使用方法【新手必看】
Nov 22 #Javascript
AngularJS变量及过滤器Filter用法分析
Nov 22 #Javascript
jQuery中$.grep() 过滤函数 数组过滤
Nov 22 #Javascript
JavaScript实现图片轮播组件代码示例
Nov 22 #Javascript
You might like
php中字符集转换iconv函数使用总结
2014/10/11 PHP
ThinkPHP实现非标准名称数据表快速创建模型的方法
2014/11/29 PHP
实现PHP+Mysql无限分类的方法汇总
2015/03/02 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
PHP自动识别当前使用移动终端
2018/05/21 PHP
PHP defined()函数的使用图文详解
2019/07/20 PHP
js event事件的传递与冒泡处理
2009/12/06 Javascript
jquery ui对话框实例代码
2013/05/10 Javascript
js一般方法改写成面向对象方法的无限级折叠菜单示例代码
2013/07/04 Javascript
JavaScript中json使用自己总结
2013/08/13 Javascript
javascript中解析四则运算表达式的算法和示例
2014/08/11 Javascript
js中遍历对象的属性和值的方法
2016/07/27 Javascript
简单理解js的冒泡排序
2016/12/19 Javascript
JavaScript实现审核流程状态的动态显示进度条
2017/03/15 Javascript
vue的无缝滚动组件vue-seamless-scroll实例
2017/12/18 Javascript
js中DOM事件绑定分析
2018/03/18 Javascript
JavaScript的Proxy可以做哪些有意思的事儿
2019/06/15 Javascript
Vue 基于 vuedraggable 实现选中、拖拽、排序效果
2020/05/18 Javascript
基于vue--key值的特殊用处详解
2020/07/31 Javascript
Queue 实现生产者消费者模型(实例讲解)
2017/11/13 Python
Python数据持久化shelve模块用法分析
2018/06/29 Python
Django框架视图层URL映射与反向解析实例分析
2019/07/29 Python
python使用socket实现的传输demo示例【基于TCP协议】
2019/09/24 Python
Python数据可视化:顶级绘图库plotly详解
2019/12/07 Python
Python try except异常捕获机制原理解析
2020/04/18 Python
Python能做什么
2020/06/02 Python
Perfumetrader荷兰:香水、化妆品和护肤品在线商店
2017/09/15 全球购物
韩国最大的购物网站:Gmarket
2019/06/20 全球购物
2014端午节活动策划方案
2014/01/27 职场文书
学生喝酒检讨书
2014/02/06 职场文书
个人委托书格式
2014/04/04 职场文书
请假条标准格式规范
2014/04/10 职场文书
信息管理与信息系统专业求职信
2014/06/21 职场文书
会议通知范文
2015/04/15 职场文书
JavaScript使用canvas绘制坐标和线
2021/04/28 Javascript
TypeScript实用技巧 Nominal Typing名义类型详解
2022/09/23 Javascript