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

json2.js的初步学习与了解

    博客分类:
  • JSON
阅读更多

 

1.)该js的下载地址是:http://www.json.org/json2.js

2.)在页面中引用该脚本:<script type="text/javascript" src="js/json2.js"></script>

3.)示例演示一:
//直接声明json数据结构
var myJSONObject = {"bindings": [
        {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
        {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
        {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
    ]
};

这个例子中,创建了一个对象,它只包含一个成员“bindings”。“bindings”是一个包含了3个对象的数组,而这每个对象都有"ircEvent"、"method"和"regex"3个成员。

这些成员可以用“.”或subscript 操作得到。

如:myJSONObject.bindings[0].method    // "newURI"
    myJSONObject.bindings[1].deleteURI    // "newURI"
   
//声明字符串,可对比一下json文本与我们正常文本的区别
var normalstring='[{persons:[{name:"jordan",sex:"m",age:"40"}, {name:"bryant",sex:"m",age:"28"}, {name:"McGrady",sex:"m",age:"27"} ]}]';
var jsontext='[{"persons":[{"name":"jordan","sex":"m","age":"40"}, {"name":"bryant","sex":"m","age":"28"}, {"name":"McGrady","sex":"m","age":"27"} ]}]';

我们可以使用eval()函数调用JavaScript的编译器把JSON文本转变成对象。因为JSON是JavaScript的一个确切的子集,编译器可以正确地解析JSON文本,然后生成一个对象结构。

//调用eval函数转换为json对象,
var myE = eval(normalstring);

//将json对象转换为字符串
var text = JSON.stringify(myE);

//对比转换后的json文本与声明的文本区别
document.writeln('转换后的json文本:'+text+'<br><br>声明的json格式文本 '+jsontext+'<br><br>声明的普通格式文本 '+normalstring+'<br><br>');

结果如下:

转换后的json文本:[{"persons":[{"name":"jordan","sex":"m","age":"40"},{"name":"bryant","sex":"m","age":"28"},{"name":"McGrady","sex":"m","age":"27"}]}]

声明的json格式文本 [{"persons":[{"name":"jordan","sex":"m","age":"40"},{"name":"bryant","sex":"m","age":"28"},{"name":"McGrady","sex":"m","age":"27"}]}]

声明的普通格式文本 [{persons:[{name:"jordan",sex:"m",age:"40"}, {name:"bryant",sex:"m",age:"28"}, {name:"McGrady",sex:"m",age:"27"} ]}]

小结:转换后的json文本和声明的json格式文本内容是相同的。

//当安全比较重要的时候使用JSON解析就好一些。JSON解析只会识别JSON文本并且它更安全,下面调用json的parse函数对文本数据转换生成json数据结构
var myData = JSON.parse(jsontext);

完整的文件如下(区别:myJSONObject,jsontext,normalstring的不同):
<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
   <script type="text/javascript" src="js/json2.js"></script>
</head>

<body>
   <script>
    var normalstring='[{persons:[{name:"jordan",sex:"m",age:"40"}, {name:"bryant",sex:"m",age:"28"}, {name:"McGrady",sex:"m",age:"27"} ]}]';
    var jsontext='[{"persons":[{"name":"jordan","sex":"m","age":"40"}, {"name":"bryant","sex":"m","age":"28"}, {"name":"McGrady","sex":"m","age":"27"} ]}]';
    var myJSONObject = {"bindings": [
          {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
          {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
          {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
       ]
    };
   
    //调用eval函数转换为json对象,
    var myE = eval(normalstring);
   
    //将json对象转换为字符串
    var text = JSON.stringify(myE);
   
    //对比转换后的json文本与声明的文本区别
    document.writeln('转换后的json文本:'+text+'<br><br>声明的json格式文本 '+jsontext+'<br><br>声明的普通格式文本 '+normalstring+'<br><br>');
  
    //JSON解析
    var myData = JSON.parse(jsontext);
   </script>
</body>
</html>


4.)示例演示二:

//下面是对json对象的增删查改操作
<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
   <script type="text/javascript" src="js/json2.js"></script>
</head>

<body>
   <script>
    //声明json对象
    var jsonObj2={persons:[
     {name:"jordan",sex:"m",age:"40"},
     {name:"bryant",sex:"m",age:"28"},
     {name:"McGrady",sex:"m",age:"27"}
    ]};
    var persons=jsonObj2.persons;
    var str="";
    var person={name:"yaoMing",sex:"m",age:"26"};
   
    //以下为json对象的操作,去掉注释可以查看操作结果
    jsonObj2.persons.push(person);//数组最后加一条记录
    jsonObj2.persons.pop();//删除最后一项
    jsonObj2.persons.shift();//删除第一项
    jsonObj2.persons.unshift(person);//数组最前面加一条记录 只要适合Javascript的方法都是可以用在JSON对象的数组中的!所以还有另外的方法splice( )进行crud操作! //删除
    jsonObj2.persons.splice(0,2);//开始位置,删除个数
   
    //替换不删除
    var self={name:"tom",sex:"m",age:"24"};
    var brother={name:"Mike",sex:"m",age:"29"};
    jsonObj2.persons.splice(1,0,self,brother,self);//开始位置,删除个数,插入对象
   
    //替换并删除
    jsonObj2.persons.splice(0,1,self,brother);//开始位置,删除个数,插入对象
   
    for(var i=0;i<persons.length;i++){
     var cur_person=persons[i];
     str+=cur_person.name+"'sex is "+cur_person.sex+" and age is "+cur_person.age+"<br><br>";
    }
    document.writeln(str);
    //转换为json文本
    var myjsonobj = JSON.stringify(jsonObj2);
    document.writeln(myjsonobj);

    document.writeln(persons.length);

   </script>
</body>
</html>

分享到:
评论

相关推荐

    json2.js的初步学习与了解.docx

    ### json2.js的初步学习与了解 #### 一、json2.js简介 json2.js 是一个用于处理 JSON 数据的小型 JavaScript 库。JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于...

    arxiv-metadata-oai-2019.json.zip

    1. **元数据解析**:首先,我们需要了解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,也便于机器解析和生成。元数据通常包括论文的标题、作者、摘要、发表日期、分类、关键词...

    JsonViewer 一款很好的JSON排版软件

    - **学习理解**:对于初学者来说,通过可视化的方式了解JSON结构,JsonViewer是一个非常有用的辅助工具。 总之,JsonViewer作为一款实用的JSON查看和排版工具,它简化了JSON数据的解析过程,提高了工作效率,是...

    管理系统平台(node.js+MongoDB).zip

    管理系统平台的开发通常涉及到多个技术层面,这个名为“管理系统平台(node.js+MongoDB)....通过学习和实践这样的项目,开发者不仅可以掌握Node.js和MongoDB的基本用法,还能了解到完整的Web开发流程和项目管理技巧。

    易语言-易语言json取成员文本

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简洁、易于阅读和编写,同时被机器快速解析和生成,广泛应用于网络数据传输。在易语言中,处理JSON数据通常需要借助特定的库或模块。 首先,...

    从零学习node.js之express入门(六).docx

    通过本篇文章的学习,我们初步了解了 Express 的基本用法,包括创建项目、设置路由、响应方法以及中间件的使用。对于想要深入学习 Express 的开发者来说,建议进一步探索官方文档和相关资源,以便掌握更多高级功能和...

    Java要学习哪些技术.docx

    2. 学习DOS命令行操作,了解Web应用的基本概念。 3. Java程序入门,掌握变量、数据类型、运算符、流程控制和数组。 4. 面向对象思想的初步理解,学习类和对象的设计。 5. 学习常用的API,如集合框架、文件处理等,并...

    高德城市编码json_sql_excel合集(根据高德2017.8.10版本整理)

    《高德城市编码json_sql_excel合集:解析与应用》 在信息技术日益发达的今天,地理信息系统(GIS)已经成为我们日常生活和工作中不可或缺的一部分。高德地图作为国内知名的在线地图服务提供商,提供了丰富的API和...

    vue node写的PC端电商网站的皮

    通过这个项目,学习者可以深入理解Vue.js的组件化开发思想,掌握CSS3在电商网站中的应用,以及初步了解Vue.js和Node.js的集成。同时,对于希望实践全栈开发的开发者来说,这是一个很好的起点,可以探索前后端数据...

    js excel 使用说明(图)

    JavaScript(简称JS)是一种广泛用于前端开发的编程语言,它在现代网页开发...通过以上内容,你应该对如何在JavaScript环境中使用Excel有了初步了解。具体的实现细节还需要根据项目需求和选择的库进行深入学习和实践。

    Ajax+nodemon+axios等初步了解

    Ajax的核心是JavaScript异步通信,通常与XML数据格式一起使用,但现代实现更多地使用JSON,因为JSON解析速度更快且更易于处理。 nodemon是一个开发工具,用于自动化Node.js应用的重启过程。当你的代码发生变化时,...

    demo-workshopper:一个示例 Node.js 研讨会

    在开始Node.js的学习之前,我们需要对JavaScript有基本的了解。JavaScript是一种广泛用于网页和网络应用的脚本语言,主要用作客户端的网页编程。在Node.js中,JavaScript被用于服务器端,提供了异步I/O、事件驱动等...

    我的学习资料打包,包括ES,MongoDB,Oracle,TS,NodeJS相关的学习过程

    学习Node.js,你需要掌握事件驱动的非阻塞I/O模型,了解Express框架、NPM(Node Package Manager)的使用,以及如何构建实时Web应用。 在“日常学习”这个压缩包里,你可能会找到各种教程、笔记、示例代码和练习...

    给予express和mongodb的在线答题,签到,资源管理系统.zip

    【标题】中的“给予express和mongodb的在线答题,签到,资源管理系统”表明这是一个使用Express.js框架和MongoDB数据库构建的Web...对于学习和了解Web开发,尤其是Node.js和MongoDB的使用,这个项目是一个很好的实例。

    chart.js:关于chart.js中图形的开发

    通过以上介绍,我们对Chart.js的基本使用有了初步了解。在实际开发中,根据需求灵活应用这些知识点,可以创建出满足各种需求的精美图表。在深入学习Chart.js的过程中,不断探索其API和社区资源,将有助于你成为更...

    打分系统.zip

    【标题】"打分系统.zip"的描述暗示这是一个与评分或评价系统相关的项目,很...通过分析和理解这个项目,不仅可以掌握Node.js的基本用法,还能了解到如何构建一个完整的Web应用,这对于初学者来说是一次宝贵的学习经验。

    学生信息管理系统Node+express+mongodb.zip

    首先,Node.js是基于Chrome V8引擎的JavaScript运行环境,它允许我们在服务器端使用JavaScript进行开发,打破了传统的前端与后端的界限。Node.js的非阻塞I/O模型和事件驱动特性使其在处理高并发请求时表现出色,非常...

    vue到vue3的个人学习资料

    在学习Vue.js的过程中,了解其版本迭代以及与之配合的工具有助于构建现代化的前端应用。Vue.js的版本3相比之前的版本在语法和内部机制上都进行了一定的优化和更新。而Webpack作为当前流行的JavaScript模块打包工具,...

Global site tag (gtag.js) - Google Analytics