2019独角兽企业重金招聘Python工程师标准>>>

背景

JavaScript对象与Json对象的关系,Json是JavaScript的一个子集。JavaScript的对象是面向对象语言的一种表示方式,Json则是数据传输的一种格式(比如XML),所以二者之间在定义上没有很大关系;但是二者的格式书写非常相似(有一个细节就是:JS对象的key是可以使用引号也可以不使用;可是Json格式则必须对key使用引号),所以JS对象与Json非常容易转换,不过一定要记住,在JavaScript语言中Json只是一种符合固定格式的字符串,只是字符串!


1 使用Javascript 自带的 eval 方法,把JSON字符串转为Javascript对象

var obj = eval('('+jsonStr +')');

对于为什么要采用括号,是因为小括号把JSON字符串最外层的花括号强制定义为对象直接量的语义,因为Javascript中的花括号语义颇多,所以这是一个不错的方法。相比之下,我们采用(function(){})()这里的小括号是把花括号理解为函数的定义,所以这个函数才会执行

2 使用高级浏览器自带解析机制

在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法。

JSON.stringify(obj)将JSON转为字符串。

JSON.parse(string)将字符串转为JSON格式;

3 jQuery 所支持Json方法

var obj = jQuery.parseJSON('{"name":"John"}');

4 ExtJs 所支持JSON方法

var jsonStr = Ext.util.JSON.encode(obj);

var obj = Ext.util.JSON.decode(jsonStr);

此外,encode和decode分别赋值给了Ext.encode和Ext.decode。

即开发时可以使用更简短的Ext.encode和Ext.decode而非冗长的Ext.util.JSON.encode和Ext.util.JSON.decode。

1 Ext.encode = Ext.util.JSON.encode;

2 Ext.decode = Ext.util.JSON.decode;

即开发时可以使用更简短的Ext.encode和Ext.decode而非冗长的Ext.util.JSON.encode和Ext.util.JSON.decode。

转载于:https://my.oschina.net/heweipo/blog/502821

Json 与 JS对象的关系与转换相关推荐

  1. json与j对象的关系和与对象的相互转换

    JSON 与 JS 对象的关系 很多初学者不理解 JSON 和 JS 对象的关系,两者的概念和界限认识很模糊.简而言之,可以这么理解: JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS ...

  2. json和JS对象转换

    json语法格式: 对象表示为键值对 数据由逗号分隔 花括号保存对象 方括号保存数据 JSON是JS对象的字符串表示法,它使用文本表示一个JS对象的信息,本质是一个字符串. var obj = {a: ...

  3. JSON 和 JS 对象互转

    JSON 和 JS 对象互转 要实现从对象转换为 JSON 字符串,使用 JSON.stringify() 方法: var json = JSON.stringify({a: 'Hello', b: ...

  4. JSON转JS对象,JS对象转JSON

    JSON转JS对象,JS对象转JSON </h1><div class="clear"></div><div class="po ...

  5. JSON 与 JS 对象的区别

    JSON 概述 JSON(JavaScript Object Notation),JS 对象表示法. JSON 是 JS 对象的一种描述方式,使 JS 对象能够以文本的方式记录下来,所以 JSON 是 ...

  6. JSON转换为JS对象和JS对象转换为JSON

    1. JSON转换为JS对象 名称 parse 类型 执行类 参数 json: string JSON字符串 返回值 js对象 示例 parse('{"a":"abc&q ...

  7. Javascript学习笔记——JSON:js对象简谱

    Javascript不仅是一种编程语言,还被作为一种常用的对象存储和传输格式 JSON:JS 对象简谱 JSON(JavaScript Object Notation)即Javascript对象简谱 ...

  8. JSON与js对象序列化

    JavaScript对象表示法(JavaScript Object Notation,简称JSON)是一种轻量级的数据交换格式,它基于js字面量表示法,是js的一个子集.虽然是一个js的子集但是他与语 ...

  9. 将JS对象转换为JSON |将JSON转换为JS对象

    一.将JSON字符串为JS对象 在JS中,如果直接输入 var arr = {arr:[1,2,3]}; 返回的是一个object对象 因此如果我们需要将其转换为JSON,可以用如下方式进行转换 va ...

  10. JSON与JS对象的区别

    和一些同学一样:总是感觉json对象(其实json不是对象)和js对象的字面量表示法相同,最近学习json,真心搞不懂,js对象和json有什么区别?就是感觉json的key要用" &quo ...

最新文章

  1. Badread: simulation of error-prone long reads Badread:模拟容易出错的长读断
  2. 如何理解Return的返回值?
  3. 解决weblogic页面和控制台乱码问题
  4. Linux与JVM的内存关系分析
  5. mysql 存储过程 百万数据 innodb_详解mysql数据库一键查看锁信息(开启InnoDB监控)...
  6. utils C/C++的常用工具类
  7. 基于 abapGit 和 abaplint 的 ABAP 持续集成的一个例子
  8. 在 SAP CRM Fiori 应用上给 Opportunity 订单添加 note 的后台执行明细
  9. Oracle入门(五)之基本命令操作
  10. MeasureSpec学习 - 转
  11. 哈希表的大小为何最好是素数
  12. Bootstrap 折叠插件Collapse 调用方式
  13. 【网络安全工程师面试】—SSRF服务端请求伪造漏洞及利用方法
  14. 硬核!尽量避免 bug 手法,让测试彻底失业
  15. R语言学习笔记(1)
  16. SSM框架利用Filter实现页面不登陆拦截,禁止跳过登录页面不登陆强制访问
  17. 如何创建网站 网站的创建方法
  18. 漫画 | “道德沦丧”的程序员 !
  19. CentOS 7.2 添加磁盘并创建新区
  20. Jolla 宣布 Sailfish 系统浏览器开源

热门文章

  1. flask_loginer
  2. 星云的Linux专用学习手册
  3. Tensor基本操作
  4. Python_notes_05
  5. Kali Linux桥接模式配置DNS服务器
  6. Java Swing Action 动作
  7. WinForm------GridControl合并单元格
  8. [充电]Code Review
  9. 64位Ubuntu14.04搭建ADT开发环境
  10. Asp.Net MVC2 控件开发实例(2)