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 相关文章推荐
新手入门常用代码集锦
Jan 11 Javascript
js 全兼容可高亮二级缓冲折叠菜单
Jun 04 Javascript
javascript创建和存储cookie示例
Jan 07 Javascript
jQuery实现的导航下拉菜单效果
Jul 04 Javascript
JavaScript页面实时显示当前时间实例代码
Oct 23 Javascript
js判断用户是输入的地址请求的路径(实例讲解)
Jul 18 Javascript
node.js多个异步过程中判断执行是否完成的解决方案
Dec 10 Javascript
详解在React项目中安装并使用Less(用法总结)
Mar 18 Javascript
koa+mongoose实现简单增删改查接口的示例代码
May 13 Javascript
浅谈layui 绑定form submit提交表单的注意事项
Oct 25 Javascript
使用p5.js临摹动态图片
Nov 04 Javascript
vue遍历对象中的数组取值示例
Nov 07 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
检查用户名是否已在mysql中存在的php写法
2014/01/20 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
2016/10/12 PHP
创建一个复制UBB软件信息的链接或按钮的js代码
2008/01/06 Javascript
关于jQuery中的end()使用方法
2011/07/10 Javascript
js中将URL中的参数提取出来作为对象的实现代码
2011/08/16 Javascript
可在线编辑网页文字效果代码(单击)
2013/03/02 Javascript
jQuery实现的简洁下拉菜单导航效果代码
2015/08/26 Javascript
关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
2015/10/12 Javascript
javascript实现移动端上的触屏拖拽功能
2016/03/04 Javascript
AngularJS入门教程之链接与图片模板详解
2016/08/19 Javascript
nodejs和C语言插入mysql数据库乱码问题的解决方法
2017/04/14 NodeJs
Three.js实现绘制字体模型示例代码
2017/09/26 Javascript
nginx部署访问vue-cli搭建的项目的方法
2018/02/12 Javascript
python实现批量获取指定文件夹下的所有文件的厂商信息
2014/09/28 Python
python使用 HTMLTestRunner.py生成测试报告
2017/10/20 Python
Windows系统下PhantomJS的安装和基本用法
2018/10/21 Python
Python后台开发Django会话控制的实现
2019/04/15 Python
用python实现英文字母和相应序数转换的方法
2019/09/18 Python
Python大数据之使用lxml库解析html网页文件示例
2019/11/16 Python
python ubplot使用方法解析
2020/01/10 Python
浅谈Python中range与Numpy中arange的比较
2020/03/11 Python
python实现ssh及sftp功能(实例代码)
2020/03/16 Python
python爬虫scrapy基本使用超详细教程
2021/02/20 Python
使用CSS实现阅读进度条
2017/02/27 HTML / CSS
Hotels.com香港酒店网:你的自由行酒店订房专家
2018/01/22 全球购物
GoDaddy英国:全球排名第一的域名注册商
2018/06/08 全球购物
Wedgwood英国官方网站:英式精致骨瓷餐具、礼品与生活精品,源于1759年
2019/09/02 全球购物
农村党支部先进事迹
2014/01/14 职场文书
科研课题实施方案
2014/03/18 职场文书
如何写好自荐信
2014/04/07 职场文书
保护环境倡议书
2014/04/14 职场文书
初三开学计划书
2014/04/27 职场文书
幼儿园教师自我评价
2015/03/04 职场文书
放假通知范文
2015/04/14 职场文书
单位政审意见范文
2015/06/04 职场文书
分析ZooKeeper分布式锁的实现
2021/06/30 Java/Android