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 相关文章推荐
Whatever:hover 无需javascript让IE支持丰富伪类
Jun 29 Javascript
基于jquery & json的省市区联动代码
Jun 26 Javascript
使用js实现按钮控制文本框加1减1应用于小时+分钟
Dec 09 Javascript
JavaScript事件委托用法分析
Jan 24 Javascript
简单理解vue中Props属性
Oct 27 Javascript
Angular.js之作用域scope'@','=','&'实例详解
Feb 28 Javascript
微信小程序实现滚动消息通知
Feb 02 Javascript
微信小程序实现运动步数排行功能(可删除)
Jul 05 Javascript
vue-cli2打包前和打包后的css前缀不一致的问题解决
Aug 24 Javascript
微信小程序如何播放腾讯视频的实现
Sep 20 Javascript
JavaScript中的this基本问题实例小结
Mar 09 Javascript
8个非常实用的Vue自定义指令
Dec 15 Vue.js
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作的文本留言本的例子(一)
2006/10/09 PHP
php生成WAP页面
2006/10/09 PHP
ASP和PHP都是可以删除自身的
2007/04/09 PHP
PHP setcookie设置Cookie用法(及设置无效的问题)
2011/07/13 PHP
在win系统安装配置 Memcached for PHP 5.3 图文教程
2015/03/03 PHP
推荐4个原生javascript常用的函数
2015/01/12 Javascript
Js为表单动态添加节点内容的方法
2015/02/10 Javascript
JavaScript动态修改弹出窗口大小的方法
2015/04/06 Javascript
微信小程序 教程之WXML
2016/10/18 Javascript
js继承实现方法详解
2016/12/16 Javascript
JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8
2017/06/23 Javascript
原生js实现密码输入框值的显示隐藏
2017/07/17 Javascript
vue按需引入element Transfer 穿梭框
2017/09/30 Javascript
JS实现的ajax和同源策略(实例讲解)
2017/12/01 Javascript
JavaScript怎样在删除前添加确认弹出框?
2019/05/27 Javascript
Vue实现固定定位图标滑动隐藏效果
2019/05/30 Javascript
详解Vue中组件传值的多重实现方式
2019/08/16 Javascript
node.js使用stream模块实现自定义流示例
2020/02/13 Javascript
javascript设计模式 ? 单例模式原理与应用实例分析
2020/04/09 Javascript
Vue利用localStorage本地缓存使页面刷新验证码不清零功能的实现
2020/09/04 Javascript
[55:02]2014 DOTA2国际邀请赛中国区预选赛 HGT VS Orenda
2014/05/21 DOTA
python 生成器协程运算实例
2017/09/04 Python
Python3多线程操作简单示例
2018/05/22 Python
通过PHP与Python代码对比的语法差异详解
2019/07/10 Python
详解Python绘图Turtle库
2019/10/12 Python
pandas按行按列遍历Dataframe的几种方式
2019/10/23 Python
Flask中sqlalchemy模块的实例用法
2020/08/02 Python
Python selenium爬取微信公众号文章代码详解
2020/08/12 Python
使用CSS3来代替JS实现交互
2017/08/10 HTML / CSS
大学生在校学习的自我评价
2014/02/18 职场文书
单独二胎证明
2015/06/24 职场文书
2016大一新生入学教育心得体会
2016/01/23 职场文书
Javascript中的解构赋值语法详解
2021/04/02 Javascript
Python代码风格与编程习惯重要吗?
2021/06/03 Python
redis 存储对象的方法对比分析
2021/08/02 Redis
JS前端轻量fabric.js系列之画布初始化
2022/08/05 Javascript