Json 与 JS对象的关系与转换

背景

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。

时间: 2024-10-10 22:59:19

Json 与 JS对象的关系与转换的相关文章

JSON与JS对象

json 定义 :是一种格式,用于数据交换. Javascript 对象 定义 : 一种javascript的引用类型 区别 对比内容 JSON Javascript 对象 键名 必须是加双引号 可允许加单引号,双引号,也可以不加 属性值 只能是数值(10进制) ,字符串(双引号),布尔值和null,也可以是数组,符合JSON的对象,不能是函数,NaN,Infinity,-Infinity和undefined javascript 中的任意值 逗号问题 最后一个值后面不能有逗号 可以有逗号 数值

JSON与js对象序列化

JavaScript对象表示法(JavaScript Object Notation,简称JSON)是一种轻量级的数据交换格式,它基于js字面量表示法,是js的一个子集.虽然是一个js的子集但是他与语言无关,它可以用于在现在所有的编程语言编写的应用程序之间进行数据交换.是一种文本格式,比较容易读写. json是一个容纳“名/值”对的无序集合,名字可以是任意字符串,值可以使任意的json类型的值.大多数编程语言都有被映射为json的数据类型,比 如对象(object),字典(dictionary)

JSON和JS对象之间的互转

1. jQuery插件支持的转换方式 $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 2. 浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器: JSON.parse(jsonstr); //可以将json字符串转换成json对象 JSON.stringify(jsonobj); //可以将json对象转换成json对符串  注:ie8(兼容模式),

JSON转JS对象,JS对象转JSON

一.从服务端发来的json字符串,怎么才能作为JavaScript对象(JSON对象)在web端调用呢? 1.如果使用jQuery,就很方便了,可以在ajax一系列函数中,把参数Datatype传json即可,返回的data即为JSON对象. PS:如果要对表单处理为json字符串,可以使用.serialize()与.serializeArray()处理,如果要作为URL调用,则可以使用jQuery.param()处理. 2.$.parseJSON( jsonstr) 3.浏览器自带的JSON.

JSON转换为js对象

有两种方法eval  JSON.parse区别在于JSON内部值插入alert   也会执行  这个是非常的危险 如果别人插入恶意代码之类的JSON.parse 会提示错误信息 推荐使用JSON.parse 校验JSON的工具 http://www.jsonlint.com/

json转js对象

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <script type="text/javascript" src="scripts/jquery.js" ></script> <script type="text/j

使用JSON语法创建JS对象(重要)

JS对象的键值可以加单引号或者不加或者加双引号 JSON语法提供了一种更简单的方式来创建对象,可以避免书写函数,也可避免用new关键字,可以直接创建一个JS对象,使用一个花括号,然后将每个属性写成"key:value"的形式. 从JavaScript1.2开始,创建对象有了一种更快捷的语法: 格式如下: var p = { name: '张三', sex: '男', info: function() { alert("这是函数格式!"); } } 这种语法就是一种J

解析json成javascript对象

1.  json数据结构(对象和数组) json对象:var obj = {"name":"xiao","age":12}; json数组:var objArray = [{"name":"xiao","age":12},{"name":"xiao","age":12}]; 2.  处理json数据,依赖文件有:jQuery.j

JSON与JS的区别

JSON是什么?(JSON和JavaScript对象有什么区别?)如何把JS对象转化为JSON字符串,又如何把JSON字符串转化为JavaScript对象? JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧. JSON 是 JavaScript 原生格式, 这意味着在JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包.JSON的规则很简单: 对象是一个无序的“名称/值”对集合.一个对象以“{”(左括号)开始,“}”(