`

json学习资料

    博客分类:
  • json
阅读更多

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. }   

下面使用prototype写一个JSONajax例子。

先写一个servlet (我的是servlet.ajax.JSONTest1.java)就写一句话
java 代码
  1. response.getWriter().print("{ \"name\": \"Violet\", \"occupation\": \"character\" }");  

再在页面中写一个ajax的请求

js 代码
  1. function sendRequest() {   
  2.     var url = "/MyWebApp/JSONTest1";   
  3.     var mailAjax = new Ajax.Request(   
  4.         url,   
  5.         {   
  6.             method: 'get',   
  7.             onComplete: jsonResponse   
  8.         }   
  9.     );   
  10. }   
  11.   
  12. function jsonResponse(originalRequest) {   
  13.     alert(originalRequest.responseText);   
  14.     var myobj = originalRequest.responseText.parseJSON();   
  15.     alert(myobj.name);   
  16. }   

prototype-<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">1.5.1</st1:chsdate>.js中提供了JSON的方法,String.evalJSON(), 可以不使用json.js, 修改上面的方法

js 代码
  1. function jsonResponse(originalRequest) {   
  2.     alert(originalRequest.responseText);   
  3.     var myobj = originalRequest.responseText.evalJSON(true);   
  4.     alert(myobj.name);   
  5. }   

JSON还提供了java的jar包 http://www.json.org/java/index.html API也很简单,下面举个例子

在javascript中填加请求参数

js 代码
  1. function sendRequest() {   
  2.     var carr = new Car("Dodge""Coronet R/T", 1968, "yellow");   
  3.     var pars = "car=" + carr.toJSONString();   
  4.   
  5.     var url = "/MyWebApp/JSONTest1";   
  6.     var mailAjax = new Ajax.Request(   
  7.         url,   
  8.         {   
  9.             method: 'get',   
  10.             parameters: pars,   
  11.             onComplete: jsonResponse   
  12.         }   
  13.     );   
  14. }   

使用JSON请求字符串就可以简单的生成JSONObject并进行解析,修改servlet添加JSON的处理(要使用json.jar)

java 代码
  1. private void doService(HttpServletRequest request, HttpServletResponse response) throws IOException {   
  2.         String s3 = request.getParameter("car");   
  3.         try {   
  4.             JSONObject jsonObj = new JSONObject(s3);   
  5.             System.out.println(jsonObj.getString("model"));   
  6.             System.out.println(jsonObj.getInt("year"));   
  7.         } catch (JSONException e) {   
  8.             e.printStackTrace();   
  9.         }   
  10.         response.getWriter().print("{ \"name\": \"Violet\", \"occupation\": \"character\" }");   
  11.     }   

同样可以使用JSONObject生成JSON字符串,修改servlet

java 代码
  1. private void doService(HttpServletRequest request, HttpServletResponse response) throws IOException {   
  2.         String s3 = request.getParameter("car");   
  3.         try {   
  4.             JSONObject jsonObj = new JSONObject(s3);   
  5.             System.out.println(jsonObj.getString("model"));   
  6.             System.out.println(jsonObj.getInt("year"));   
  7.         } catch (JSONException e) {   
  8.             e.printStackTrace();   
  9.         }   
  10.            
  11.         JSONObject resultJSON = new JSONObject();   
  12.         try {   
  13.             resultJSON.append("name""Violet")   
  14.                       .append("occupation""developer")   
  15.                       .append("age"new Integer(22));   
  16.             System.out.println(resultJSON.toString());   
  17.         } catch (JSONException e) {   
  18.             e.printStackTrace();   
  19.         }   
  20.         response.getWriter().print(resultJSON.toString());   
  21.     }   
js 代码
  1. function jsonResponse(originalRequest) {   
  2.     alert(originalRequest.responseText);   
  3.     var myobj = originalRequest.responseText.evalJSON(true);   
  4.     alert(myobj.name);   
  5.     alert(myobj.age);   
  6. }  

参考

http://www.json.org/js.html

http://www.blogjava.net/Jkallen/archive/2006/03/28/37905.html

http://www.json.org/

http://www.prototypejs.org/learn/json

http://www.json.org/java/index.html

http://www.ibm.com/developerworks/cn/web/wa-ajaxintro10/index.html

分享到:
评论

相关推荐

    Json 入门学习资料

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递...通过提供的jar包和学习资料,初学者可以快速掌握JSON的基本概念和使用方法,从而在实际项目中得心应手地处理数据。

    新手学习JSON最佳资料

    理解JSON的基本结构和类型,以及在JQuery中如何操作JSON,对于新手来说是学习Web开发的基础知识。通过实践,你可以掌握如何从服务器获取JSON数据,将其解析并显示在前端页面上,以及如何进行序列化和反序列化操作。

    收集的json资料类库和json教程,和json网络整理资料

    "JSON教程2.pdf"可能包含了更深入的JSON学习内容,比如JSON Schema,它定义了一种规范,用于验证JSON数据是否符合特定的结构要求,以确保数据的准确性和一致性。此外,还可能涵盖了JSON Pointer和JSON Patch,它们...

    json源码 学习资料

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人阅读和编写,...此外,熟悉JSON相关的工具和库,如在线JSON校验器、JSON编辑器等,也会对你的学习和工作带来便利。

    jQuery+Json 实现Ajax无刷新分类管理实例演示

    jQuery+Json 实现Ajax无刷新分类管理实例演示 基于jquery+json实现的网站后台管理中无刷新的分类管理功能演示,如上...相当不错的Json学习资料,也是ASP.NET结合jQuery实现Ajax无刷新操作技术的典型实例,有必要借鉴。

    json 介绍及资料

    JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式。它采用完全独立于语言的文本格式,但也使用了类似于C家族语言(包括C、C++、C#、Java、...学习和掌握JSON的使用,对于提升Web开发技能至关重要。

    json详解,最详细的、资料

    最基础最详细的json学习资料,这份资料几乎可以解决所有的你在json中的问题

    json 使用资料 json

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,设计简单易读,同时也...通过学习和掌握JSON,开发者可以更好地实现前后端的数据交互,提升应用程序的性能和用户体验。

    json最全的资料

    总的来说,这个“json最全的资料”压缩包是学习和研究JSON的理想资源,它能够帮助开发者或初学者全面了解JSON的语法、使用方式以及在实际项目中的应用。无论是进行Web开发、移动应用开发还是API设计,JSON都是不可或...

    json相关资料_JSON_

    4. 安全性:学习如何避免JSON注入攻击,确保数据安全传输。 5. 性能优化:理解如何高效地处理大量JSON数据,包括解析速度和内存使用。 在实际应用中,JSON广泛应用于Web服务,作为HTTP请求和响应中的数据格式。此外...

    Java图形实现json格式化源码下载学习资料分享c

    本学习资料专注于Java图形化实现JSON格式化的源码,旨在帮助开发者更好地理解和运用这一功能。 Java提供了多种库来处理JSON,如Jackson、Gson、org.json等。这些库不仅能够解析和生成JSON,还提供了格式化JSON的...

    json网页资料

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。它以文本形式存储和传输数据,易于人阅读和编写,...学习和掌握JSON,对于任何Web开发者来说都是必不可少的技能。

    jQuery Json 实现Ajax无刷新分类管理源码.rar

    基于jquery json实现的网站后台管理中无刷新的分类管理功能演示,如上图演示所示,可无刷新添加一个分类、在动画弹出...相当不错的Json学习资料,也是ASP.NET结合jQuery实现Ajax无刷新操作技术的典型实例,有必要借鉴。

    Ajax框架的相关学习资料和json

    5. **JSON Schema**:学习JSON Schema,这是一种JSON格式的规范,用于定义JSON数据的结构和验证规则。 通过以上内容的学习,你可以掌握Ajax的基础知识,了解DWR框架的应用,以及掌握JSON数据格式的处理。不断实践和...

    json入门博客资料

    在本压缩包中的“json入门博客资料”中,你可以找到一系列关于JSON的基础知识和在VS(Visual Studio)环境下如何进行开发的教程。 JSON是一种独立的语言无关的数据格式,但它与JavaScript语法高度相似。一个JSON...

    JSON解析工具.rar

    本资源"JSON解析工具.rar"包含了关于JSON学习的相关资料,特别适合中级开发人员深入理解和掌握JSON的使用。 JSON是一种独立于语言的数据交换格式,但它的语法源自JavaScript对象表示法。其基本结构包括对象...

    Ajax异步请求&Json数据格式配套学习资料

    Ajax(ASynchronous JavaScript And XML):是一种在无需重新加载整个网页的情况下,能够...Json(JavaScript Object Notation) :现在多用于存储和交换文本信息的语法;进行数据的传输,SON 比 XML 更小、更快,更易解析。

    GoAhead Json开发

    在IT行业中,GoAhead是一种广泛使用的嵌入式Web服务器,尤其适用于物联网(IoT)设备和小型嵌入式系统。它的轻量级设计使得它在资源有限的ARM...对于从事物联网或嵌入式系统开发的工程师来说,这是一份宝贵的学习资料。

Global site tag (gtag.js) - Google Analytics