详解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 相关文章推荐
js验证表单第二部分
Nov 25 Javascript
JS中的log对象获取以及debug的写法介绍
Mar 03 Javascript
jQuery分别获取选中的复选框值的示例
Jun 17 Javascript
javascript 实现 原路返回
Jan 21 Javascript
js实现的后台左侧管理菜单代码
Sep 11 Javascript
详解Vue.js Mixins 混入使用
Sep 15 Javascript
纯js代码生成可搜索选择下拉列表的实例
Jan 11 Javascript
Webpack的dll功能使用
Jun 28 Javascript
js异步上传多张图片插件的使用方法
Oct 22 Javascript
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
Jan 15 Javascript
uni-app使用微信小程序云函数的步骤示例
May 22 Javascript
三种方式清除vue路由跳转router-link的历史记录
Apr 10 Vue.js
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开发文件系统实例讲解
2006/10/09 PHP
html数组字符串拼接的最快方法
2009/09/16 Javascript
Javascript 判断客户端浏览器类型代码
2010/03/01 Javascript
javascript开发技术大全-第1章javascript概述
2011/07/03 Javascript
自己封装的javascript事件队列函数版
2014/06/12 Javascript
用简洁的jQuery方法toggleClass实现隔行换色
2014/10/22 Javascript
简述JavaScript中正则表达式的使用方法
2015/06/15 Javascript
jQuery实现类似标签风格的导航菜单效果代码
2015/08/25 Javascript
移动手机APP手指滑动切换图片特效附源码下载
2015/11/30 Javascript
JS组件系列之Bootstrap table表格组件神器【终结篇】
2016/05/10 Javascript
H5实现中奖记录逐行滚动切换效果
2017/03/13 Javascript
jQuery滚动插件scrollable.js用法分析
2017/05/25 jQuery
详解vuex 渐进式教程实例代码
2018/11/27 Javascript
[40:17]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第一场
2018/04/06 DOTA
Python入门之三角函数全解【收藏】
2017/11/08 Python
使用pip发布Python程序的方法步骤
2018/10/11 Python
python中将zip压缩包转为gz.tar的方法
2018/10/18 Python
python-itchat 获取微信群用户信息的实例
2019/02/21 Python
python实现抠图给证件照换背景源码
2019/08/20 Python
Python迭代器iterator生成器generator使用解析
2019/10/24 Python
Python 中的 import 机制之实现远程导入模块
2019/10/29 Python
wxPython+Matplotlib绘制折线图表
2019/11/19 Python
Python3.6 + TensorFlow 安装配置图文教程(Windows 64 bit)
2020/02/24 Python
手工制作的意大利礼服鞋:Ace Marks
2018/12/15 全球购物
C#中的验证控件有几种
2014/03/08 面试题
Linux管理员面试题 Linux admin interview questions
2016/07/08 面试题
what is the difference between ext2 and ext3
2015/08/25 面试题
历史学专业大学生找工作的自我评价
2013/10/16 职场文书
运动会广播稿500字
2014/01/28 职场文书
英语教研活动总结
2014/07/02 职场文书
小学兴趣小组活动总结
2014/07/07 职场文书
大学生党员个人对照检查材料范文
2014/09/25 职场文书
文明单位汇报材料
2014/12/24 职场文书
家长会开场白和结束语
2015/05/29 职场文书
javascript数组includes、reduce的基本使用
2021/07/02 Javascript
win10如何开启ahci模式?win10开启ahci模式详细操作教程
2022/07/23 数码科技