`
hwpok
  • 浏览: 250854 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

为什么要使用对象直接量,它和JSON有什么关系(转)

阅读更多

近来看了国外的一些知名网站的JS源码,发现里面很多地方都用到对象直接量,特别是定义一些对象和类的时候。也许你会问什么是对象直接量? ECMAScript V3定义了对象直接量的语法,使你能够创建对象并定义它的属性。对象直接量(也称为对象初始化程序)是由一个列表构成的,这个列表的元素是用冒号分隔的属性/值对,元素之间用逗号隔开的,整个列表包含花括号之中。下面就是一个简单的例子:

var shenni= {age:24,birthday:'1982年2月14日'};

也可以嵌套:

var shenni= {age:24,birthday:{year:'1982年',month:'2月',day:'14日'}};

需要注意的就是,对象直接量中的属性值不必是产量,它可以是任意的JavaScript表达式

如:
var shenni= {age:(2+4),birthday:{year:'1982年',month:'2月',day:'14日'}};

可能有些人看这个东西很像一个东西,对就是JSON。看看下面的这条语句就知道了:
{'age':24,'birthday':'1982年2月14日'};
这就是JSON,唯一的区别就是age和'age'。它们这么像,是不是应该有什么联系或者什么姻缘呢。
不错,它们是可以相互转换地,对象直接量可以转换为JSON,JSON也可以转换为对象直接量。这也是JSON
能够作为第三方的交换数据的重要原因之一,它可以直接转换,然后在JavaScript中使用。

转换的方法如下:
对象直接量 -> JSON ,这个需要用到W3C官方提供的JOSN.js进行转换。其实这个js里面的代码也简单,有兴趣的朋友可以下载看一看。

var JSON = JSON.stringify(shenni) OK, 这样变量JSON就是对象直接量了。

JSON-> 对象直接量:
我的另外一篇谈论EVAL方法的用途里面已经提到这方面的应用了!
eval ('var sheni = ('+JSON+')');//JSON 为{'age':24,'birthday':'1982年2月14日'}字符串

分享到:
评论

相关推荐

    对象转换成JSON和Map

    "对象转换成JSON和Map"是一个核心话题,特别是在Java编程语言中,因为JSON(JavaScript Object Notation)是网络通信中广泛使用的轻量级数据交换格式,而Map则是一种通用的数据结构,用于存储键值对。下面我们将深入...

    JS中Json对象

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON是基于JavaScript的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。 #### JSON...

    JSON--List集合转换成JSON对象详解

    在将集合转换为JSON时,可能会有一些不必要的数据或属性需要过滤掉。文中提到使用JsonConfig来设置JsonPropertyFilter,这样可以在序列化过程中过滤掉不需要的属性或对象。这是一种更加精细的控制方式,可以避免在...

    Delphi LiveBinding对象及对象序列化为JSON的例子

    例如,你可以创建一个TJSONObject实例,然后使用其方法如AddPair来添加键值对,或者直接将Delphi的对象转换为JSON字符串。例如: ```delphi uses System.JSON; var MyObject: TObject; JSONString: string; ...

    字符串或链表转json

    在Java编程中,处理JSON数据时,Jackson是一个非常流行的开源工具包,它提供了将Java对象转换为JSON字符串以及从JSON字符串反序列化回Java对象的功能。 Jackson库由FasterXML公司开发,其主要组件包括`Jackson-...

    一个使用json生成phpclass代码的工具

    JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在PHP开发中,将JSON数据转换为PHP类可以简化数据处理,特别是当处理API响应或从数据库读取复杂结构时。 描述中的“一个使用json...

    毛玻璃和json转模型

    在iOS开发中,我们通常使用JSONSerialization类来解析JSON数据为Foundation对象,如NSDictionary或NSArray。 CoderMJLee的MJExtension是一个广受欢迎的Objective-C扩展库,它提供了便利的方法来简化JSON与模型之间...

    swift-ObjectMapper是一个用Swift编写的框架可以轻松地将模型对象转换为JSON和从JSON转换

    当你有了一个`User`实例,你可以很容易地将它转化为JSON字符串,反之亦然。 对于数组,ObjectMapper也提供了很好的支持。如果你的JSON数据包含一个数组,你可以定义一个数组类型,如`[User]`,并使用`ArrayMapping`...

    DataSet类型数据转换成Json串

    `DataSet`是.NET框架中用于存储和操作数据的一种对象,它提供了类似数据库的特性,如表、关系和约束等。在客户端和服务器之间传输数据时,`DataSet`可以扮演中间角色,确保数据的一致性和完整性。 #### JSON JSON是...

    excel转json插件

    此“excel转json插件”的主要功能是将Excel文件中的数据自动转换为JSON格式,这样开发者就可以在CocosCreator项目中直接使用这些数据。它通常支持以下特性: 1. **数据映射**:插件允许开发者定义Excel列与JSON对象...

    java-任何类型转换成json数据格式

    - 当输入的对象为基本数据类型如`String`、`Integer`等时,直接转换为JSON字符串。 - 对于数字类型,如`BigDecimal`、`BigInteger`等,也直接转换为相应的JSON数值表示形式。 2. **数组处理**: - 数组被转换为...

    一个用于将JSON数据转换为Table的JavaScript库

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。在前端开发中,我们经常需要将从服务器获取的JSON数据展示在网页的表格中,以便用户直观地查看和操作数据。...

    json数据转换jar包

    2. **转换功能**:json-lib可以将Java对象(如ArrayList、HashMap)直接转换为JSON格式,也可以将JSON字符串解析成对应的Java对象。 3. **与其他技术的集成**:json-lib也支持与Hibernate、Struts、Spring等框架的...

    树形结构文件转Json格式

    在IT行业中,数据的存储和交换格式有很多种,其中JSON(JavaScript Object Notation)因其轻量级、易读易写的特点,被广泛应用于网络数据传输和本地数据存储。本项目主要涉及的是将“树形结构文件”转换为JSON格式,...

    json系列文章——json的使用

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,设计简单易读且易于编写。在IT行业中,JSON被广泛应用于Web服务与客户端之间的数据交互,因为它的结构清晰,易于解析...

    JSON ——数据库结果集转换

    标题和描述均提到了“JSON —— 数据库结果集转换”,这主要涉及到将数据库查询结果转化为JSON格式的数据,以便于在网络传输中使用。在现代Web开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换...

    JSON与JAVA数据的转换

    - 使用`JSONArray.fromObject()`方法可以轻松地将JSON数组转换为Java的`List`对象。 ```java List<String> list = new ArrayList(); list.add("first"); list.add("second"); JSONArray jsonArray = JSONArray...

    python excel文件数据转成json

    在转换为JSON时,可以考虑保持这种层级关系,使用嵌套的JSON对象。如果原始数据没有这样的结构,可以先对DataFrame进行适当的重塑或分组,然后转换。 4. **保存和使用JSON数据**:转换后的JSON数据可以通过`json....

    JSon的介绍即使用方法

    在JavaScript中,JSON对象可以直接解析为JavaScript对象,通过`JSON.parse()`方法;反之,JavaScript对象也可以转换成JSON字符串,使用`JSON.stringify()`方法。例如: ```javascript var obj = {name: "John", ...

Global site tag (gtag.js) - Google Analytics