`
wangcheng
  • 浏览: 1464826 次
  • 性别: Icon_minigender_1
  • 来自: 青岛人在北京
社区版块
存档分类
最新评论

JSON学习(二) (转)

    博客分类:
  • ajax
阅读更多

在看了blogjava看了emu的一篇<异步json例子>, 感觉不错, 学习并记录下来

原稿地址 http://www.blogjava.net/emu/archive/2007/05/14/117416.html

异步json例子的数据为

  1. <HTML>  
  2. <HEAD>  
  3. <title>异步json例子</title>  
  4. <SCRIPT LANGUAGE="JavaScript">  
  5. function test(){   
  6.     var s = document.createElement("SCRIPT");   
  7.     document.getElementsByTagName("HEAD")[0].appendChild(s);   
  8.     s.src="http://g2.qzone.qq.com/fcg-bin/cgi_emotion_list.fcg?uin=123456";   
  9. }   
  10. function visitCountCallBack(data){   
  11.     for(var i in data){   
  12.         var e =document.getElementById(i);   
  13.         if(e) e.innerHTML=data[i];   
  14.     }   
  15.   
  16. }   
  17. </SCRIPT>  
  18. </HEAD>  
  19. <BODY>  
  20. <button onclick="test()">test</button><BR>  
  21. 历史访问人数:<span id="visitcount" style="color:#6600CC">点击test按钮获取数据</span><BR>  
  22. 今天访问人数:<span id="dayvisit" style="color:#CC6633">点击test按钮获取数据</span><BR>  
  23. 阳光指数:<span id="sun" style="color:red">点击test按钮获取数据</span><BR>  
  24. 爱心指数:<span id="love" style="color:violet">点击test按钮获取数据</span><BR>  
  25. 雨露指数:<span id="rain" style="color:blue">点击test按钮获取数据</span><BR>  
  26. 营养指数:<span id="nutri" style="color:green">点击test按钮获取数据</span><BR>  
  27. 花匠级别:<span id="gardener" style="color:#996633">点击test按钮获取数据</span>  
  28. </BODY>  
  29. </HTML>  

其中请求的http://g2.qzone.qq.com/fcg-bin/cgi_emotion_list.fcg?uin=123456返回

  1. visitCountCallBack   
  2. (   
  3.   {   
  4.     "visitcount":49036012,   
  5.     "dayvisit":3144,   
  6.     "spacemark":0,   
  7.     "markchange":0,   
  8.     "sun":416,   
  9.     "love":402,   
  10.     "rain":416,   
  11.     "nutri":404,   
  12.     "level":5,   
  13.     "gardener":1   
  14.   }   
  15. );  

相比xml,json的好处是:天生的跨浏览器(比如我的这个demo应该可以跨所有支持dhtml的浏览器而不需要任何修改),客户端解析代价(CPU和内存)非常小,非单根结构(xml是单根结构),标记名只出现一次(xml的标记名在大多数情况下都需要出现两次:<tag>...</tag>,因此浪费了很多流量)
主要缺点是只支持get方式请求,另外跨编码(json资源的编码和引用页面的编码不同)的时候要做一些特殊处理。比如汉字可以预先escape。
此外很多人并不知道json可以异步获取,这个例子很重要的一点是展示了如何异步获取json。

感谢 http://www.blogjava.net/emu/ 分享

分享到:
评论

相关推荐

    LabelMe之json转nii

    在医疗图像分析领域,数据预处理是至关重要的一步,尤其是当使用深度学习模型进行训练时。LabelMe是一款广泛使用的图像标注工具,它允许用户通过图形界面轻松地标记图像,并保存标注信息为.json文件。本教程将详细...

    VoTT视频标注json数据集转mask二值掩膜图像

    总结来说,"VoTT视频标注json数据集转mask二值掩膜图像"是一个将视频或图像标注数据转化为适合深度学习模型输入的过程,它涉及到JSON文件解析、图像处理以及二值掩模的生成。这样的预处理步骤对于提高计算机视觉任务...

    Json转实体类

    二是允许用户直接输入JSON文本进行转换。这种方式大大提高了开发效率,减少了手动编写实体类的工作量,同时也降低了出错的可能性。 “嘻嘻,方便,实惠哦。”这句话是对这个功能的评价,它表明这个工具或方法不仅...

    pb解析与生成json

    综上所述,"pb解析与生成json"涉及到ProtoBuf的使用,以及如何在PB9.0环境下进行与JSON的互转。通过理解ProtoBuf和JSON的基本概念,以及它们在实际开发中的应用,开发者可以有效地利用提供的资源提升项目性能和交互...

    json 学习笔记 相关知识点

    ### JSON学习笔记:深入理解与应用 #### 一、JSON简介与重要性 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于ECMAScript的一个子集,采用...

    复杂json格式转为对象

    本资源提供了一个关于如何将复杂JSON转换为Java对象的学习实例,包括源码和可执行的jar包。 一、Jackson库的使用 Jackson是Java中广泛使用的JSON库,它的核心类`com.fasterxml.jackson.databind.ObjectMapper`负责...

    C++结构体和json/xml之间互相转换

    对于`bson`库,它提供了一种高效的方式来处理BSON(Binary JSON),这是一种二进制形式的JSON,适合在内存中快速操作。xbson是`bson`的一个C++封装,它提供了头文件接口,无需编译库文件,使得集成更加方便。在`...

    纯前端html+js实现的excel转json格式

    标题 "纯前端html+js实现的excel转json格式" 描述了一个完全在浏览器环境中完成的Excel到JSON转换功能。这个技术方案特别适用于那些不需要服务器端处理的场景,比如小型项目或者临时的数据导入需求。它允许用户上传...

    read_json_读labelme生成json文件的标注框_

    综上所述,理解和解析`Labelme`生成的JSON文件是进行图像分析和机器学习项目的关键步骤。通过使用Python的`read_json`函数,我们可以轻松获取图像的标注信息,进而进行模型训练、验证和测试,推动计算机视觉技术的...

    gson java对象与json转换(实例代码说明及教程)

    《Gson:Java对象与JSON转换的实例代码详解及教程》 在Java开发中,数据交换格式JSON(JavaScript Object Notation)被广泛使用,...通过学习和实践,开发者可以更高效地在Java和JSON之间进行数据交换,提升开发效率。

    json和对象相互转换

    #### 二、基础概念 在深入讨论转换方法之前,我们需要了解几个基本概念: 1. **JSON(JavaScript Object Notation)**:一种轻量级的数据交换格式,常用于客户端与服务器之间传递数据。 2. **Java对象**:Java程序...

    labview JSON包

    JSON键值对对应于簇中的元素,而JSON数组则对应于LabVIEW的一维或二维数组。在LabVIEW中,可以使用“JSON解析器”VI来读取和分解JSON字符串,它会返回一个簇,该簇的结构与输入的JSON数据结构相对应。 生成JSON时,...

    Go-kazaam-在Golang中任意转换JSON文档的API

    开发者可以通过查看源代码,了解其内部工作原理,学习如何利用Go-kazaam来解决实际问题,或者对其进行二次开发以满足特定需求。 总结来说,Go-kazaam是Golang开发中处理JSON的强大工具,它的API设计人性化,功能...

    对json类型的数据进行解析

    **二、JSON解析** 在前端,JavaScript提供了内置的JSON对象来处理JSON数据。主要有两个方法: 1. `JSON.parse()`:将JSON字符串转换为JavaScript对象。例如: ```javascript var jsonString = '{"name":"John", ...

    C++解析json/socket通讯

    在IT行业中,C++是一种强大的编程语言,广泛用于系统软件、游戏开发以及高性能计算等领域。在现代网络应用中,JSON...而15json这个文件可能是包含相关代码示例或测试数据的压缩包,对于学习和实践上述知识非常有帮助。

    json-lib最新版本 含源码

    `json-lib-2.4-jdk15.jar`是编译后的二进制库,包含了所有必要的类和方法,可以直接在项目中引用,用于JSON与Java对象之间的转换。而`json-lib-2.4-jdk15-sources.jar`则包含了源代码,方便开发者进行学习、调试或...

    OpenSketch能够实现sketch与json格式的导入导出

    相反,从JSON到Sketch的导出则是将解析后的数据重构回Sketch的二进制格式,从而完成数据的双向转换。 4. **JavaScript开发**:作为OpenSketch的基础,JavaScript是一种动态类型的脚本语言,广泛应用于Web开发。在这...

    JSON库使用DEMO

    这可能涉及到二进制JSON格式(如BSON或MessagePack),或使用高效的解析库。 10. **安全注意事项**: 在接收和发送JSON数据时,要警惕潜在的安全问题,如XSS(跨站脚本攻击)或CSRF(跨站请求伪造)。确保对输入...

    json 完整架包

    - **XML到JSON转换**:提供了XML和JSON之间的互转,方便在两种格式之间切换。 - **JSON格式化**:可以对JSON字符串进行美化,使其更易读。 - **JSON校验**:检查JSON字符串是否符合标准格式。 在实际应用中,JSON-...

Global site tag (gtag.js) - Google Analytics