json对象与数组以及转换成js对象的简单实现方法


Posted in Javascript onJune 24, 2016

JSON 语法规则

JSON 语法是 JavaScript 对象表示法语法的子集。

•数据在名称/值对中
•数据由逗号分隔
•花括号保存对象
•方括号保存数组

JSON 对象

JSON 对象在花括号中书写:

对象可以包含多个名称/值对:

{ "firstName":"John" , "lastName":"Doe" }

这一点也容易理解,与这条 JavaScript 语句等价:

firstName = "John"
lastName = "Doe"

JSON 数组

JSON 数组在方括号中书写:

数组可包含多个对象:

{ 
"employees": [ 
{ "firstName":"John" , "lastName":"Doe" }, 
{ "firstName":"Anna" , "lastName":"Smith" }, 
{ "firstName":"Peter" , "lastName":"Jones" } 
] 
}

在上面的例子中,对象 "employees" 是包含三个对象的数组。每个对象代表一条关于某人(有姓和名)的记录。

JSON 文件

•JSON 文件的文件类型是 ".json"
•JSON 文本的 MIME 类型是 "application/json"

JSON文本转换为 JavaScript 对象

JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。

eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:
var obj = eval ("(" + jsontxt + ")");

示例:

$.ajax({
    type: 'POST',
    url: '../../caseHandler.ashx?action=GetCase&id=' + id.toString(), //url action是方法的名称
    data: "",
    dataType: "text", //可以是text,如果用text,返回的结果为字符串;如果需要json格式的,可以设置为json
    ContentType: "application/json; charset=utf-8",
    success: function (returnedData) {
      getMarkerFeature(eval("(" + returnedData+ ")"));
    },
    error: function (msg) {
      alert("访问失败:"+ msg);
    }
  });

通过JavaScript创建对象数组

var employees = [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName": "Carter" }
];

JavaScript对象属性访问的两种方式

object.attribute

object["attribute"]

例如:

var employees = [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName": "Carter" }
];
alert(employees[0].lastName); // 方式一
alert(employees[0]["lastName"]); // 方式二

以上就是小编为大家带来的json对象与数组以及转换成js对象的简单实现方法全部内容了,希望大家多多支持三水点靠木~

Javascript 相关文章推荐
JavaScript 开发中规范性的一点感想
Jun 23 Javascript
基于jquery可配置循环左右滚动例子
Sep 09 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之三
Jan 03 Javascript
来自国外的30个基于jquery的Web下拉菜单
Jun 22 Javascript
常用一些Javascript判断函数
Aug 14 Javascript
js如何打印object对象
Oct 16 Javascript
js验证身份证号有效性并提示对应信息
Oct 19 Javascript
jquery ajax结合thinkphp的getjson实现跨域的方法
Jun 06 Javascript
JS控制页面跳转时未请求要跳转的地址怎么回事
Oct 14 Javascript
bootstrap select2插件用ajax来获取和显示数据的实例
Aug 09 Javascript
JS将时间秒转换成天小时分钟秒的字符串
Jul 10 Javascript
解决vue-cli输入命令vue ui没效果的问题
Nov 17 Javascript
jQuery实现点击弹出背景变暗遮罩效果实例代码
Jun 24 #Javascript
JS控制文本域只读或可写属性的方法
Jun 24 #Javascript
jQuery插件扩展extend的简单实现原理
Jun 24 #Javascript
jQuery设置单选按钮radio选中/不可用的实例代码
Jun 24 #Javascript
jQuery给div,Span, a ,button, radio 赋值与取值
Jun 24 #Javascript
jQuery模仿单选按钮选中效果
Jun 24 #Javascript
JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)
Jun 24 #Javascript
You might like
一拳超人中怪人协会钦定! S级别最强四人!
2020/03/02 日漫
php继承的一个应用
2011/09/06 PHP
PHP输出数组中重名的元素的几种处理方法
2012/09/05 PHP
JS的数组的扩展实例代码
2008/07/09 Javascript
Javascript中自动切换焦点实现代码
2012/12/15 Javascript
JS获取IP、MAC和主机名的五种方法
2013/11/14 Javascript
JavaScript显示当前文档最后修改日期的方法
2015/03/19 Javascript
AngularJS directive返回对象属性详解
2016/03/28 Javascript
jQuery中show与hide方法用法示例
2016/09/16 Javascript
BootStrap tooltip提示框使用小结
2016/10/26 Javascript
AngularJS的ng Http Request与response格式转换方法
2016/11/07 Javascript
JS实现的适合做faq或menu滑动效果示例
2016/11/17 Javascript
jQuery验证表单格式的使用方法
2017/01/10 Javascript
Angularjs自定义指令实现三级联动 选择地理位置
2017/02/13 Javascript
javaScript和jQuery自动加载简单代码实现方法
2017/11/24 jQuery
详解ECMAScript typeof用法
2018/07/25 Javascript
vue微信分享到朋友圈 vue微信发送给好友
2018/11/28 Javascript
JQueryDOM之样式操作
2019/03/27 jQuery
python optparse模块使用实例
2015/04/09 Python
Python基于动态规划算法计算单词距离
2015/07/25 Python
在Python的while循环中使用else以及循环嵌套的用法
2015/10/14 Python
python with提前退出遇到的坑与解决方案
2018/01/05 Python
Python3.遍历某文件夹提取特定文件名的实例
2018/04/26 Python
在python 不同时区之间的差值与转换方法
2019/01/14 Python
ipython和python区别详解
2019/06/26 Python
python 动态迁移solr数据过程解析
2019/09/04 Python
解决tensorflow训练时内存持续增加并占满的问题
2020/01/19 Python
Python更新所有已安装包的操作
2020/02/13 Python
《雾凇》教学反思
2014/02/17 职场文书
函授毕业个人自我评价
2014/02/20 职场文书
求职信范文大全
2014/05/26 职场文书
企业法人代表证明书
2014/09/27 职场文书
经理聘任证明
2015/03/02 职场文书
奖学金个人总结
2015/03/04 职场文书
解决Mysql的left join无效及使用的注意事项说明
2021/07/01 MySQL
Windows Server 2012 R2服务器安装与配置的完整步骤
2022/07/15 Servers