`
mjbb
  • 浏览: 88940 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

json与js对象的一些对比与区别

阅读更多
文本生成json对象,必须在外面加一对括号。

因为JSON 是 javascript 的一个子集,所以,在javascript 中使用JSON是非常简单的。
    
    
js 代码
 
var myJSONObject = {"bindings": [   
        {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},   
        {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},   
        {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}   
    ]   
};   

在上面的例子中,我们创建了只包含一个成员 "bindings" 的一个对象,bindings 则包含了一个由3个对象组成的数组。这3个对象都包含3个成员:"ircEvent", "method","regex"。

在javascript 中, 成员可以通过“点号”来获取。
比如:

js 代码
myJSONObject.bindings[0].method   

通过eval() 函数可以将JSON字符串转化为对象。

js 代码
var myObject = eval('(' + myJSONtext + ')');   

eval 函数非常快,但是它可以编译任何 javascirpt 代码,这样的话就可能产生安全的问
题。eval 的使用是基于传入的代码参数是可靠的假设的,有一些情况下,可能客户端是不可
信任的。

如果基于安全的考虑的话,最好是使用一个 JSON 解析器。 一个 JSON 解析器将只接受 
JSON 文本。所以是更安全的。

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

可选的 filter 参数将遍历每一个value key 值对, 并进行相关的处理。如:


js 代码
myData = JSON.parse(text, function (key, value) {        

return key.indexOf('date') >= 0 ? new Date(value) : value;    });  

stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。

js 代码
var myJSONText = JSON.stringifier(myObject); 





//理解二号:
JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 
JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API
 或工具包。 
JSON的规则很简单: 对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括
号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’
 对”之间使用“,”(逗号)分隔。具体细节参考http://www.json.org/json-zh.html


举个简单的例子:

js 代码
1.function showJSON() {   
2.    var user =   
3.     {   
4.        "username":"andy",   
5.        "age":20,   
6.        "info": { "tel": "123456", "cellphone": "98765"},   
7.        "address":   
8.             [   
9.                 {"city":"beijing","postcode":"222333"},   
10.                 {"city":"newyork","postcode":"555666"}   
11.             ]   
12.     }   
13.       
14.     alert(user.username);   
15.     alert(user.age);   
16.     alert(user.info.cellphone);   
17.     alert(user.address[0].city);   
18.     alert(user.address[0].postcode);   
19.}   
这表示一个user对象,拥有username, age, info, address 等属性。

同样也可以用JSON来简单的修改数据,修改上面的例子

js 代码
1.function showJSON() {   
2.    var user =   
3.     {   
4.        "username":"andy",   
5.        "age":20,   
6.        "info": { "tel": "123456", "cellphone": "98765"},   
7.        "address":   
8.             [   
9.                 {"city":"beijing","postcode":"222333"},   
10.                 {"city":"newyork","postcode":"555666"}   
11.             ]   
12.     }   
13.       
14.     alert(user.username);   
15.     alert(user.age);   
16.     alert(user.info.cellphone);   
17.     alert(user.address[0].city);   
18.     alert(user.address[0].postcode);   
19.       
20.     user.username = "Tom";   
21.     alert(user.username);   
22.}   
JSON提供了json.js包,下载http://www.json.org/json.js 后,将其引入然后就可以简单的使用object.toJSONString()转换成JSON数据。

js 代码
1.function showCar() {   
2.    var carr = new Car("Dodge", "Coronet R/T", 1968, "yellow");   
3.     alert(carr.toJSONString());   
4.}   
5.  
6.function Car(make, model, year, color)        {   
7.     this.make   =   make;   
8.     this.model   =   model;   
9.     this.year   =   year;   
10.     this.color   =   color;   
11.}   
可以使用eval来转换JSON字符到Object

js 代码
1.function myEval() {   
2.    var str = '{ "name": "Violet", "occupation": "character" }';   
3.    var obj = eval('(' + str + ')');   
4.     alert(obj.toJSONString());   
5.}   
或者使用parseJSON()方法

js 代码
1.function myEval() {   
2.    var str = '{ "name": "Violet", "occupation": "character" }';   
3.    var obj = str.parseJSON();   
4.     alert(obj.toJSONString());   
5.}   
分享到:
评论

相关推荐

    json比对js插件

    “JSON对比工具”是专门为解决这个问题设计的,它可以帮助开发者高效地对比两个JSON对象,找出它们的不同之处。这些工具通常具备以下特性: 1. **自动格式化**:在输入JSON数据时,工具会自动将其格式化为易读的...

    JSON与JAVA对象之间的转换

    在Java开发中,我们经常需要将JSON字符串与Java对象之间进行转换,以便在服务器端处理来自客户端的数据,或者将数据以JSON格式发送回客户端。这里我们将重点讨论两种常用的库:Gson和Jackson,它们都提供了方便的...

    JSON与JS对象的区别与对比

    现在我们来详细地对比一下JSON和JavaScript对象的区别: 1. 语法上:JSON格式要求属性名必须用双引号包裹,而JavaScript对象的属性名不必须使用双引号。JSON格式的字符串值也必须用双引号包围,但JavaScript对象中...

    json/json2.js两个版本

    `json2.js`也提供了JSON.parse和JSON.stringify方法,与`json.js`类似,但在更旧的环境中提供JSON支持。这个版本可能包含了更多的兼容性和性能优化,例如处理旧版IE浏览器的问题,这些浏览器默认不支持原生的JSON...

    插件json和对比

    在IT行业中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于Web服务与客户端之间的数据传输。它的结构简洁、易于读写,并且被各种编程语言所支持。在处理JSON数据时,有时我们需要对其...

    比较json对象中的两个数组含有的相同元素,点击按钮输出新的数组

    在JavaScript(JS)中,处理JSON(JavaScript Object Notation)数据是常见的任务。当你需要比较两个JSON对象中的数组并找出它们共有的元素时,可以采用几种不同的方法。在这个场景下,我们将探讨如何实现这个功能,...

    C++ json库性能对比

    在IT行业中,JSON(JavaScript Object Notation)是一种广泛使用的轻量级数据交换格式,它易于人阅读和编写,同时也易于机器解析和生成。在C++编程中,有多个JSON库可供选择,每种库都有其特定的优势和性能表现。本...

    巧用eval解析json对象

    首先,JSON对象本质上是符合JSON语法的字符串,其结构与JavaScript对象类似,由键值对组成,用花括号`{}`包围,键和值之间用冒号`:`分隔,每对键值之间用逗号`,`分隔。例如: ```json { "name": "John", "age": 30...

    前端json对比工具,可以对比json的不同之处

    标题中提到的“前端JSON对比工具”是指一种在浏览器环境中运行的应用程序或插件,它允许开发者输入或上传两个JSON对象,然后以可视化的形式展示它们之间的不同之处。这种工具通常具有以下特点: 1. **用户友好**:...

    实用小工具:Java实体类对比、Json对比、字符串动态拼接等功能

    标题中的“实用小工具:Java实体类对比、Json对比、字符串动态拼接等功能”涉及到的是在软件开发过程中常用的几个技术点,主要集中在Java后端和前端Vue.js的应用上。这里我们将详细探讨这些知识点: 1. **Java实体...

    ASP解析JSON方法

    这些库提供了JSON.parse()函数,可以在客户端将JSON字符串转换为JavaScript对象。然而,这种方法限制了数据处理在客户端,不适合处理敏感信息,因为数据可能会在传输过程中暴露。 3. VBScript函数 如果要在服务器端...

    about-JSON.rar_JSON_xml json 对比

    关于JSON的使用,包括如何创建JSON对象,如何将JSON数据转换为JavaScript对象,以及如何序列化JavaScript对象为JSON字符串,这些都是开发者需要掌握的基本技能。在JavaScript中,可以使用`JSON.parse()`和`JSON....

    notepad++文件比较和json格式化插件

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛应用于Web服务和应用程序之间。由于其简洁性和易读性,JSON数据在处理时需要保持整洁的格式,而Notepad++的JSON格式化插件正好解决了这个问题...

    swift-JSONShootout几款主流SwiftJSON映射器使用及性能对比测试

    在Swift编程语言中,JSON(JavaScript Object Notation)解析是一个常见的任务,特别是在处理网络数据时。本文将深入探讨几款主流的Swift JSON映射器,包括它们的使用方法、特性和性能表现。我们将通过"JSONShootout...

    CompareJSON JSON对比小程序

    然而,在处理JSON数据时,我们经常需要对两个或多个JSON对象进行对比,以检查它们之间的差异。为了解决这个问题,出现了"CompareJSON JSON对比小程序",它提供了高效且便捷的JSON对比功能。 1. **JSON按Key排序**:...

    java转json测试项目(附带json jar包)

    在Java开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它使得人和机器都能方便地读写数据。在这个“java转json测试项目”中,我们主要关注的是如何将Java对象转换为JSON格式,以及使用两种...

    json例子集合里面有很多自己总结的JSON例子

    5. **JSON与JavaScript对象的关系**: 在JavaScript中,JSON字符串可以直接转换为JavaScript对象,反之亦然。这通过`JSON.parse()`和`JSON.stringify()`两个方法实现。例如: ```javascript var jsonString = '{...

    Json字符串文本对比工具

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。它以易于人阅读和编写的方式,同时也易于机器解析和生成。JSON字符串文本对比工具则是针对JSON数据进行比较的...

    JSON相关的jar包

    - JSON与其他数据格式(如XML)的对比。 - 处理嵌套JSON和复杂数据结构的方法。 - 错误处理和调试技巧。 - 性能优化,比如处理大数据时如何利用流式API。 在实际开发中,选择合适的JSON库取决于具体需求。例如,...

    json-diff:一个用于前端展示的json对比库,提供丰富的对比操作

    JSON-Diff是一个专门针对前端开发的JavaScript库,其主要功能是对比两个JSON对象之间的差异,并以用户友好的方式展示这些差异。这个库对于开发者来说非常有用,特别是在进行数据比较、测试或者调试过程中,能帮助...

Global site tag (gtag.js) - Google Analytics