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.Validate进行客户端验证(初级篇) 不使用微软验证控件的理由
Jun 28 Javascript
js输出列表实现代码
Sep 12 Javascript
javascript中onclick(this)用法介绍
Apr 19 Javascript
jquery使用淘宝接口跨域查询手机号码归属地实例
Nov 28 Javascript
javascript中interval与setTimeOut的区别示例介绍
Mar 14 Javascript
JavaScript常用脚本汇总(三)
Mar 04 Javascript
Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
Apr 29 Javascript
Javascript基础_嵌入图像的简单实现
Jun 14 Javascript
细数JavaScript 一个等号,两个等号,三个等号的区别
Oct 09 Javascript
Vuejs 组件——props数据传递的实例代码
Mar 07 Javascript
Angular+Bootstrap+Spring Boot实现分页功能实例代码
Jul 21 Javascript
微信小程序实现锚点功能
Nov 20 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
php将字符串转化成date存入数据库的两种方式
2014/04/28 PHP
php通过session防url攻击方法
2014/12/10 PHP
php启用sphinx全文搜索的实现方法
2014/12/24 PHP
php求数组全排列,元素所有组合的方法总结
2017/03/14 PHP
JavaScript 异步方法队列链实现代码分析
2010/06/05 Javascript
jquery ajax中使用jsonp的限制解决方法
2013/11/22 Javascript
javascript 终止函数执行操作
2014/02/14 Javascript
SeaJS 与 RequireJS 的差异对比
2014/12/08 Javascript
基于jquery实现页面滚动到底自动加载数据的功能
2015/12/19 Javascript
JQuery.validate在ie8下不支持的快速解决方法
2016/05/18 Javascript
利用jQuery.Validate异步验证用户名是否存在(推荐)
2016/12/09 Javascript
jQuery EasyUI 页面加载等待及页面等待层
2017/02/06 Javascript
JavaScript中的子窗口与父窗口的互相调用问题
2017/02/08 Javascript
微信小程序 request接口的封装实例代码
2017/04/26 Javascript
Vue.js 的移动端组件库mint-ui实现无限滚动加载更多的方法
2017/12/23 Javascript
编写React组件项目实践分析
2018/03/04 Javascript
JS实现的集合去重,交集,并集,差集功能示例
2018/03/13 Javascript
JavaScript中0、空字符串、'0'是true还是false的知识点分享
2019/09/16 Javascript
vue实现的封装全局filter并统一管理操作示例
2020/02/02 Javascript
基于vue+echarts 数据可视化大屏展示的方法示例
2020/03/09 Javascript
Vue组件为什么data必须是一个函数
2020/06/11 Javascript
Python中字典的浅拷贝与深拷贝用法实例分析
2018/01/02 Python
Pycharm设置去除显示的波浪线方法
2018/10/28 Python
基于Python在MacOS上安装robotframework-ride
2018/12/28 Python
解决Atom安装Hydrogen无法运行python3的问题
2019/08/28 Python
降低python版本的操作方法
2020/09/11 Python
python基于selenium爬取斗鱼弹幕
2021/02/20 Python
NUK奶瓶美国官网:NUK美国
2016/09/26 全球购物
中国排名第一的外贸销售网站:LightInTheBox.com(兰亭集势)
2016/10/28 全球购物
ROSEFIELD手表荷兰官方网上商店:北欧极简设计女士腕表品牌
2018/01/24 全球购物
SCDKey德国:全球领先的数字游戏市场
2019/04/09 全球购物
POS解决方案:MUNBYN(热敏打印机、条形码扫描仪)
2020/06/09 全球购物
什么是Rollback Segment
2013/04/22 面试题
怎么样写好简历中的自我评价
2013/10/25 职场文书
标准自荐信范文
2014/01/29 职场文书
2019暑期安全倡议书!
2019/06/27 职场文书