`
tntxia
  • 浏览: 1510559 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

关于Javascript中JSON的概念

阅读更多

JavaScript 是一种被介绍为运行在网景浏览器上,面向目的的页面脚本编程语言。很多人认为它是Java的一个子集,但它不是。它是一种方案--是一种类似于C语言的语法并且弱类型的语言。JavaScript在ECMAScript Language Specification, Third Edition.里面被标准化。

JSON是脚本目标原义标记的一个子集。因为JSON是脚本的一个子集,所以你可以毫无疑问地使用它。

var myJSONObject = {"bindings": [

{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},

{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},

{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}

]

};

在这个示例里,程序创建了一个对象,这个对象只有一个"bindings"成员。这个"bindings"成员有一个包含了三个对象的数组,每个对象都包含了"ircEvent","method","regex"成员。

成员可以通过使用小圆点或下标来获取。例如通过myJSONObject.bindings[0].method就能获取倒"newURI"成员。

myJSONObject.bindings[0].method // "newURI"

可以使用eval()函数将一个JSON文本转化为一个对象。eval()函数负责调用脚本编译器。因为JSON是脚本的一个专属子集,所以编译器将正确地解析文本并且创造一个类结构。

var myObject = eval('(' + myJSONtext + ')');

Eval函数是非常快的。然而,它可以编译并执行任何脚本程序,因此它可能会带来安全问题。只有源代码是被信任并合法的才可以使用eval函数。当网络服务器同时提供基页和JSON数据时,在网络应用程序里,这是非常普遍的。有时候源代码是不被信任的。事实上,客户端从不被信任。

当安全比较重要的时候使用JSON解析就好一些。JSON解析只会识别JSON文本并且它更安全。JSON如下所示:

var myObject = JSON.parse(myJSONtext, filter);

可选的参数filter是一个函数。这个函数将被最终结果的每一层的每一个键和值调用。每一个值都将被filter函数的结果替代。这可以用于将一般的对象转化为一些特定对象的实例。如下所示:

myData = JSON.parse(text, function (key, value) {
return key.indexOf('date') >= 0 ? new Date(value) : value;
});

JSON stringifier则走向一个相反的方向,它将脚本数据转化为JSON文本。JSON不支持循环的数据结构,因此不要向JSON stringifier里传入循环的结构。

var myJSONText = JSON.stringify(myObject);

如果stringify方法遇到一个对象包含了toJSON方法,它就会调用这个方法,然后返回这个值。这样就允许一个对象去定义它自己的JSON代理。

Stringifier方法可以接收一个可选的字符数组。这些字符串被用来遴选包含在JSON文本里的属性。然而,对象的所有属性都将被包含在内。在任何情况下,JSON里的值如果没有代理将会被排除(例如函数和未定义)。

The open source code of a JSON parser and JSON stringifier is available. When minified it is less than 2K.

 

JSON里面var person = {name:"陈仕贤"}与var person = {"name":"陈仕贤"}是等价的,但是因为第二种形式的代码量比较少,所以笔者认为应该尽量使用第二种形式

分享到:
评论

相关推荐

    JavaScript and JSON Essentials

    《JavaScript与JSON实用指南》是一本旨在帮助读者理解JSON及其在不同场景中应用的实用书籍。书中不仅介绍了JSON的基础知识,还深入探讨了如何使用JavaScript来有效地处理JSON数据。它从一个简单的JavaScript复习课程...

    比较详细的关于javascript 解析json的代码.docx

    以上是关于JavaScript中解析JSON的详细知识点,包括JSON的基本概念、结构、操作方法以及如何使用JSON进行网络通信等内容。通过这些知识点的学习,开发者可以更好地掌握JSON的使用技巧,并能够有效地利用JSON来提高...

    解决javascript组装json的繁琐问题

    在JavaScript开发中,数据交换通常涉及JSON(JavaScript Object Notation)格式,因为它轻量级、易于阅读和编写,同时也被广泛支持。然而,处理JSON的组装过程可能会变得繁琐,尤其是在需要构建复杂的数据结构时。本...

    JavaScript 中处理JSON

    ### JavaScript 中处理 JSON 在现代 Web 开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集,但作为一种独立的...

    掌握数据交换语言:JavaScript中的JSON使用全解析

    ### 掌握数据交换语言:JavaScript中的JSON使用全解析 #### JavaScript概述 JavaScript(简称JS)是一种广泛应用的高级编程语言,其主要特性包括但不限于:解释性执行、基于原型的继承模型、自动内存管理(垃圾...

    JS中Json对象

    在JavaScript中,可以通过两种方式来创建JSON对象: 1. **使用构造函数**:通过`new JSON()`创建,但这种方式通常不建议使用。 2. **使用JSON.parse()和JSON.stringify()静态方法**: - `JSON.stringify(obj)`: 将...

    简单的JAVASCRIPT与JSON实现分页

    在JavaScript中,我们可以使用`JSON.parse()`方法将JSON字符串转换为JavaScript对象,然后对这些数据进行操作。 实现分页功能主要涉及以下几个步骤: 1. **获取数据**:从服务器获取JSON数据,这通常通过Ajax请求...

    javascript中json对象json数组json字符串互转及取值方法

    在JavaScript中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集。在处理数据时,我们经常需要在JSON对象、JSON数组和JSON字符串之间进行转换,并从这些结构中获取值。...

    javascript框架(json.jQuery.prototype).rar

    在给定的标题“javascript框架(json.jQuery.prototype).rar”中,我们可以推测这是一个关于JavaScript框架,特别是jQuery框架的教程或者参考资料。jQuery是广泛使用的JavaScript库,它简化了JavaScript的许多方面,...

    Java中使用Json

    在Java编程中,JSON...正确理解和熟练使用这些工具和概念对于Java开发者来说至关重要,因为JSON已经成为现代Web开发中的标准数据交换格式。通过不断实践和学习,你将能够更好地应对各种涉及到JSON处理的开发任务。

    json解析和封装案例

    1. JavaScript中的JSON解析:在JavaScript中,我们有`JSON.parse()`函数用于将JSON字符串转化为JavaScript对象。例如: ```javascript var jsonString = '{"name":"John", "age":30, "city":"New York"}'; var ...

    1.17 JavaScript高级-JSON和DOM操作.pdf

    JavaScript 高级 - JSON 和 DOM 操作 在 JavaScript 中,JSON(JavaScript Object Notation)是一种轻量级的数据...JSON 和 DOM 操作是 JavaScript 中两个非常重要的概念,它们广泛应用于数据交换和 HTML 文档操作中。

    JavaScript程序设计-JS中的JSON对象.pdf

    在JavaScript中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集。JSON采用完全独立于语言的文本格式,但也使用了类似于C家族语言,包括JavaScript,的结构。这种设计...

    JavaScript Object JSON

    JavaScript Object和JSON是Web开发中两个非常重要的概念,它们在数据交换和存储中扮演着关键角色。这篇博客将深入探讨这两个主题,以及它们之间的关系。 首先,JavaScript Object(JS对象)是JavaScript语言中的...

    1.Javascript & jQuery & Ajax & JSON

    JavaScript、jQuery、Ajax和JSON是Web开发中的四个关键概念,它们在构建动态、交互式的网页应用中发挥着重要作用。下面将分别对这四个主题进行详细阐述。 **JavaScript** 是一种轻量级的脚本语言,主要用于客户端的...

    javascript解析json实例详解

    JavaScript中的JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集。JSON格式易于人阅读和编写,同时也易于机器解析和生成。在JavaScript中解析JSON主要涉及两个核心函数:...

    Ajax中使用JSON传输数据

    JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,因其易读性、易写性和高效性,成为了Ajax通信中数据传输的首选格式。本篇文章将深入探讨在Ajax中如何使用JSON来传输数据,以及涉及到的相关工具和...

    JavaScript中的JSON-LD处理器和API实现_JavaScript_Shell_下载.zip

    JSON-LD(JavaScript Object Notation for Linked Data)是一种在JavaScript中表示链接数据的轻量级格式,它基于JSON,使得Web应用程序能够轻松地处理结构化数据。JSON-LD结合了JSON的简洁性和易于解析的特性,同时...

    json系列文章——json的使用

    这篇“json系列文章——json的使用”将深入探讨JSON的基本概念、语法以及在实际开发中的应用。 1. JSON的基本结构 JSON由键值对组成,以大括号 `{}` 包裹。键用双引号 `"key"` 指定,值可以是字符串、数字、布尔值...

Global site tag (gtag.js) - Google Analytics