`
conkeyn
  • 浏览: 1522699 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

JSON2的使用方法心得

阅读更多
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>

  转自:http://hi.baidu.com/yimeng3025/blog/item/fc4d8e00c7fd55057aec2c11.html

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Ajax+Struts使用Json数据心得

    本文将详细讲解在Struts2框架中使用Ajax和JSON进行数据交互的心得体会。 首先,要启用Struts2对JSON的支持,你需要在项目中引入`struts2-json-plugin.jar`库。这个库包含了处理JSON数据所需的类和方法,可以从...

    ajax使用jquery json实现的省市县三级联动经验总结

    2. **Ajax请求**:使用`$.ajax()`函数发送POST请求至`DistrictAction`,请求数据类型设置为`json`。在成功回调函数中,使用`eval()`将返回的字符串转换为JSON对象,然后遍历对象中的`disList`属性,动态生成下拉选项...

    JQuery+json前后台JSON交换

    基于jQuery.getJSON和jQuery+ajax+json的两种方式的JSON前后台交互,JSON传到后台接收,处理完了返回JSON到前台展示,非常易懂,同时也给出心得体会,有文档有可运行源码,有注释。

    Android编程心得分享——JSON学习过程

    例如,我们可以使用`JSONObject`的构造函数创建一个对象,通过`get`方法获取键对应的值,或者使用`put`方法添加新的键值对。对于数组,可以使用`JSONArray`的`put`方法添加元素,通过索引访问元素。 在实际开发中,...

    json-lib小东西记录

    这篇名为“json-lib小东西记录”的博客文章可能涵盖了作者在使用`json-lib`过程中的一些心得、技巧或者遇到的问题解决方案。虽然没有给出具体的博客内容,我们可以根据`json-lib`的常见功能和使用场景来讨论相关知识...

    Struts2学习笔记与心得

    ### Struts2与Struts1对比及特性解析 #### 一、Struts2与Struts1的区别 在探讨Struts2的学习心得之前,我们先来...通过以上的学习心得分享,希望能够帮助初学者更好地理解和掌握Struts2框架的基本概念和使用方法。

    JavaScript中json使用自己总结

    在JavaScript中,JSON是一种轻量级的数据交换格式,广泛应用于网络数据传输、配置文件存储、数据缓存等多种场景。...以上就是JavaScript中JSON的基本使用方法和一些心得分享,希望对大家学习JSON有所帮助。

    使用jsonsuggest小小心得

    《使用jsonsuggest小小心得》 在日常的编程工作中,我们常常需要处理JSON数据,无论是从服务器获取数据,还是向服务器发送数据,JSON都扮演着重要的角色。jsonsuggest是一个非常实用的工具,它能帮助我们在处理JSON...

    Jfinal使用心得以及架构

    **JFinal 使用心得与架构解析** JFinal 是一个基于 Java 的轻量级 Web 开发框架,它以 MVC(Model-View-Controller)架构为基础,强调“简洁高效”的设计理念,为开发者提供了一个快速开发项目的平台。在本文中,...

    json辅助类库

    不过在使用中也不是没有坑的,所以把一些心得记录下,以备日后查询。 序列化和反序列化 序列化和反序列化很简单,调用相关的接口即可。反序列化的时候可以指定泛型参数,直接解析成对应的对象,这个功能比很多轻...

    基于jquery的树形结构JsTree 使用心得

    **基于jQuery的树形结构JsTree使用心得** JsTree是一款基于JavaScript的开源库,它能够帮助开发者轻松地在网页上创建交互式的树形结构。在本文中,我们将深入探讨如何利用jQuery与JsTree来构建这样的功能,同时分享...

    【RPA之家转载AA视频教程】18.Extract JSON .rar

    2. **使用Automation Anywhere的Web服务工具**:AA提供了多种工具来处理Web服务,如HTTP GET和POST任务,它们可以用来发送请求并接收响应。学习者将学会如何配置这些任务以连接到REST API,并获取JSON格式的响应数据...

    jquery零碎实例和学习心得

    `$.getJSON()`则用于获取JSON格式的数据,是进行数据交互的常用方式。 六、学习心得 在学习jQuery的过程中,我发现理解DOM操作和事件处理是基础,而熟练掌握选择器和动画效果可以让页面更具交互性和吸引力。同时,...

    PHP框架Laravel学习心得体会

    有两种方式:一是将配置信息添加到全局的`config.json`文件中,二是直接在项目级的`composer.json`文件中设置。这样可以确保更快地下载和更新依赖包。 一旦配置好Composer,就可以通过运行`composer create-project...

    基于JavaScript、Vue、CSS、HTML、Python的编程智慧与心得记录库设计源码

    该项目是一个基于JavaScript、Vue、CSS、HTML和Python构建的编程智慧与心得记录库设计源码,包含55个文件,涵盖了20个JavaScript文件、7个Vue组件文件、4个CSS样式文件、3个Markdown文件、3个JSON配置文件、3个HTML...

    Unity3d心得

    ### Unity3d心得 #### Unity3d基础知识概览 Unity3D是一款强大的跨平台游戏引擎,广泛应用于2D和3D游戏...以上是关于Unity3D的一些基础知识和心得分享,希望能够帮助初学者更快地入门并熟练掌握Unity3D的使用技巧。

    struts2心得.docx

    2. **反射技术**:Struts2利用Java的反射API来动态调用Action类的方法。默认情况下,它会寻找与属性名对应的`getXXX()`方法,其中`XXX`是属性的名称。例如,如果有属性`age`,Struts2会尝试调用`getAge()`。 3. **...

    mongoose使用心得.docx

    MongoDB 是一种流行的文档型数据库,它以 JSON 格式的文档存储数据,这些文档存在于集合(Collections)中。而 mongoose 是一个与 MongoDB 集成的 Node.js 模型对象层,它为开发者提供了一个更高级别的接口来操作 ...

    JQquery的一些使用心得分享

    正如标题和描述所提及的,这里将分享一些关于jQuery使用的心得体会,通过一个实际案例来展示如何巧妙地运用jQuery实现功能。 首先,案例中的代码创建了一个常驻右下角的消息提示系统。这个系统由两个主要部分组成:...

Global site tag (gtag.js) - Google Analytics