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各种复制代码收集
Sep 20 Javascript
JS中的异常处理方法分享
Dec 22 Javascript
js遍历子节点子元素附属性及方法
Aug 19 Javascript
JavaScript弹出新窗口后向父窗口输出内容的方法
Apr 06 Javascript
浅析JavaScript声明变量
Dec 21 Javascript
基于jQuery日历插件制作日历
Mar 11 Javascript
微信小程序微信支付接入开发实例详解
Apr 12 Javascript
js实现多张图片延迟加载效果
Jul 17 Javascript
vue.js项目中实用的小技巧汇总
Nov 29 Javascript
vue对storejs获取的数据进行处理时遇到的几种问题小结
Mar 20 Javascript
vue实现文件上传功能
Aug 13 Javascript
layui自定义ajax左侧三级菜单
Jul 26 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中使用sockets:从新闻组中获取文章
2006/10/09 PHP
?算你??的 PHP 程式大小
2006/12/06 PHP
PHP extract 将数组拆分成多个变量的函数
2010/06/30 PHP
JSON两种结构之对象和数组的理解
2016/07/19 PHP
Javascript 兼容firefox的一些问题
2009/05/21 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
2012/01/21 Javascript
JS 实现图片直接下载示例代码
2013/07/22 Javascript
用js读、写、删除Cookie代码续篇
2014/12/03 Javascript
node.js中使用socket.io制作命名空间
2014/12/15 Javascript
浅谈javascript中的闭包
2015/05/13 Javascript
jquery实现表格中点击相应行变色功能效果【实例代码】
2016/05/09 Javascript
BootStrap点击下拉菜单项后显示一个新的输入框实现代码
2016/05/16 Javascript
判断是否存在子节点的实现代码
2016/05/18 Javascript
JavaScript使用键盘输入控制实现数字验证功能
2016/08/19 Javascript
Vue.js一个文件对应一个组件实践
2016/10/27 Javascript
使用Bootrap和Vue实现仿百度搜索功能
2017/10/26 Javascript
vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法
2017/11/27 Javascript
javascript设计模式 ? 迭代器模式原理与用法实例分析
2020/04/17 Javascript
JavaScript中变量提升和函数提升的详解
2020/08/07 Javascript
[01:05:56]2018DOTA2亚洲邀请赛3月29日 小组赛A组 Newbee VS VG
2018/03/30 DOTA
Python绘制正余弦函数图像的方法
2018/08/28 Python
对Python 检查文件名是否规范的实例详解
2019/06/10 Python
解决pyecharts在jupyter notebook中使用报错问题
2020/04/23 Python
Flask中endpoint的理解(小结)
2019/12/11 Python
Python datetime 格式化 明天,昨天实例
2020/03/02 Python
苹果中国官方网站:Apple中国
2016/07/22 全球购物
关于是否需要写商业计划书
2014/02/07 职场文书
教师个人自我鉴定
2014/02/08 职场文书
高中教师评语大全
2014/04/25 职场文书
煤矿安全承诺书
2014/05/22 职场文书
七夕相亲活动策划方案
2014/08/31 职场文书
感恩教师主题班会
2015/08/12 职场文书
2016年小学教师师德承诺书
2016/03/25 职场文书
Pytorch 使用tensor特定条件判断索引
2021/04/08 Python
利用Python判断你的密码难度等级
2021/06/02 Python
Windows11 Insider Preview Build 25206今日发布 更新内容汇总
2022/09/23 数码科技