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 相关文章推荐
jquery如何把参数列严格转换成数组实现思路
Apr 01 Javascript
JavaScript让Textarea支持tab按键的方法
Jun 26 Javascript
js中flexible.js实现淘宝弹性布局方案
Jun 23 Javascript
AngularJS 2.0新特性有哪些
Feb 18 Javascript
JavaScript的设计模式经典之代理模式
Feb 24 Javascript
Bootstrap下拉菜单样式
Feb 07 Javascript
JS按条件 serialize() 对应标签的使用方法
Jul 24 Javascript
javaScript实现复选框全选反选事件详解
Nov 20 Javascript
简单的Vue异步组件实例Demo
Dec 27 Javascript
使用JS获取SessionStorage的值
Jan 12 Javascript
JavaScript基础心法 深浅拷贝(浅拷贝和深拷贝)
Mar 05 Javascript
JS在if中的强制类型转换方式
Jul 15 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
一个简单的自动发送邮件系统(一)
2006/10/09 PHP
11个PHP 分页脚本推荐
2011/08/15 PHP
PHP基于curl后台远程登录正方教务系统的方法
2016/10/14 PHP
php中this关键字用法分析
2016/12/07 PHP
JavaScript入门教程(5) js Screen屏幕对象
2009/01/31 Javascript
Jquery index()方法 获取相应元素索引值
2012/10/12 Javascript
文本有关的样式和jQuery求对象的高宽问题分别说明
2013/08/30 Javascript
用JavaScript实现类似于ListBox功能示例代码
2014/03/09 Javascript
jQuery异步验证用户名是否存在示例代码
2014/05/21 Javascript
js密码强度校验
2015/11/10 Javascript
微信小程序 实现tabs选项卡效果实例代码
2016/10/31 Javascript
jQuery操作复选框(CheckBox)的取值赋值实现代码
2017/01/10 Javascript
canvas滤镜效果实现代码
2017/02/06 Javascript
three.js加载obj模型的实例代码
2017/11/10 Javascript
Vue render深入开发讲解
2018/04/13 Javascript
Vue插件打包与发布的方法示例
2018/08/20 Javascript
React 路由懒加载的几种实现方案
2018/10/23 Javascript
vue-cli 3.0 版本与3.0以下版本在搭建项目时的区别详解
2018/12/11 Javascript
在Layui 的表格模板中,实现layer父页面和子页面传值交互的方法
2019/09/10 Javascript
vue项目使用$router.go(-1)返回时刷新原来的界面操作
2020/07/26 Javascript
[01:04:09]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第二场 2月2日
2021/03/11 DOTA
Python中删除文件的程序代码
2011/03/13 Python
python检测空间储存剩余大小和指定文件夹内存占用的实例
2018/06/11 Python
Django接收自定义http header过程详解
2019/08/23 Python
pycharm 更改创建文件默认路径的操作
2020/02/15 Python
css3实例教程 一款纯css3实现的环形导航菜单
2014/10/20 HTML / CSS
input file上传文件样式支持html5的浏览器解决方案
2012/11/14 HTML / CSS
Java面试中常遇到的问题,也是需要注意的几点
2013/08/30 面试题
前台文员我鉴定
2014/01/12 职场文书
设计师个人求职信范文
2014/02/02 职场文书
处级领导干部四风问题自我剖析材料
2014/09/29 职场文书
销售经理工作失职检讨书
2014/10/24 职场文书
2014年语文教研组工作总结
2014/12/06 职场文书
费用申请报告范文
2015/05/15 职场文书
晶体管来复再生式二管收音机
2021/04/22 无线电
Java练习之潜艇小游戏的实现
2022/03/16 Java/Android