`
kavy
  • 浏览: 891187 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用jQuery解析JSON数据

    博客分类:
  • JS
 
阅读更多

在上一篇的Struts2之ajax初析中,我们得到了comments对象的JSON数据,在本篇中,我们将使用jQuery进行数据解析。

我们先以解析上例中的comments对象的JSON数据为例,然后再小结jQuery中解析JSON数据的方法。

上例中得到的JSON数据如下,是一个嵌套JSON:

{"comments":[{"content":"很不错嘛","id":1,"nickname":"纳尼"},{"content":"哟西哟西","id":2,"nickname":"小强"}]}

获取JSON数据,在jQuery中有一个简单的方法 $.getJSON() 可以实现。

下面引用的是官方API对$.getJSON()的说明:

jQuery.getJSON( url, [data,] [success(data, textStatus, jqXHR)] )

urlA string containing the URL to which the request is sent.

dataA map or string that is sent to the server with the request.

success(data, textStatus, jqXHR)A callback function that is executed if the request succeeds.

回调函数中接受三个参数,第一个书返回的数据,第二个是状态,第三个是jQuery的XMLHttpRequest,我们只使用到第一个参数。

$.each()是用来在回调函数中解析JSON数据的方法,下面是官方文档:

jQuery.each( collection, callback(indexInArray, valueOfElement) )

collectionThe object or array to iterate over.

callback(indexInArray, valueOfElement)The function that will be executed on every object.

$.each()方法接受两个参数,第一个是需要遍历的对象集合(JSON对象集合),第二个是用来遍历的方法,这个方法又接受两个参数,第一个是遍历的index,第二个是当前遍历的值。哈哈,有了$.each()方法JSON的解析就迎刃而解咯。(*^__^*) 嘻嘻……

 

复制代码
function loadInfo() {
$.getJSON(
"loadInfo", function(data) {
$(
"#info").html("");//清空info内容
$.each(data.comments, function(i, item) {
$(
"#info").append(
"<div>"+ item.id +"</div>"+
"<div>"+ item.nickname +"</div>"+
"<div>"+ item.content +"</div><hr/>");
});
});
}
复制代码

正如上面,loadinfo是请求的地址,function(data){...}就是在请求成功后的回调函数,data封装了返回的JSON对象,在下面的$.each(data.comments,function(i,item){...})方法中data.comments直接到达JSON数据内包含的JSON数组:

[{"content":"很不错嘛","id":1,"nickname":"纳尼"},{"content":"哟西哟西","id":2,"nickname":"小强"}]

$.each()方法中的function就是对这个数组进行遍历,再通过操作DOM插入到合适的地方的。在遍历的过程中,我们可以很方便的访问当前遍历index(代码中的”i“)和当前遍历的值(代码中的”item“)。

上例的运行结果如下:

如果返回的JSON数据比较复杂,则只需多些$.each()进行遍历即可,嘿嘿。例如如下JSON数据:

{"comments":[{"content":"很不错嘛","id":1,"nickname":"纳尼"},{"content":"哟西哟西","id":2,"nickname":"小强"}],"content":"你是木头人,哈哈。","infomap":{"性别":"","职业":"程序员","博客":"http:\/\/www.cnblogs.com\/codeplus\/"},"title":"123木头人"}

js如下:

复制代码
function loadInfo() {
$.getJSON(
"loadInfo", function(data) {
$(
"#title").append(data.title+"<hr/>");
$(
"#content").append(data.content+"<hr/>");
//jquery解析map数据
$.each(data.infomap,function(key,value){
$(
"#mapinfo").append(key+"----"+value+"<br/><hr/>");
});
//解析数组
$.each(data.comments, function(i, item) {
$(
"#info").append(
"<div>"+ item.id +"</div>"+
"<div>"+ item.nickname +"</div>"+
"<div>"+ item.content +"</div><hr/>");
});
});
}
复制代码

值得注意的是,$.each()遍历Map的时候,function()中的参数是key和value,十分方便。

上例的运行效果:

分享到:
评论

相关推荐

    用jquery解析JSON数据的方法

    用jquery解析JSON数据的方法,作为jquery异步请求的传输对象,jquery请求后返回的结果是json对象,这里考虑的都是服务器返回JSON形式的字符串的形式,对于利用JSONObject等插件封装的JSON对象,与此亦是大同小异,这里...

    用jquery解析JSON数据的方法20110227

    在JavaScript和jQuery中,解析JSON数据是常见的任务,特别是在与服务器进行异步通信时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析和生成。在jQuery中...

    Jquery解析Json数据

    在本话题中,我们将深入探讨如何使用jQuery解析JSON数据,这在现代Web应用中是一个非常重要的技能,因为JSON(JavaScript Object Notation)已经成为数据交换的标准格式。 JSON是一种轻量级的数据交换格式,它易于...

    Jquery解析Json数据,实现级联菜单

    本主题将深入探讨如何使用jQuery解析JSON数据并实现级联菜单,这在构建动态和交互性强的用户界面时非常常见。级联菜单通常用于导航,其中下拉选项根据上一个选项的选择而变化,提供更具体的子类别。 首先,让我们...

    jQuery读取json数据

    关于"jQuery读取json数据"这个主题,我们将会深入探讨如何利用jQuery的Ajax功能来高效地加载和解析JSON格式的数据,以及这样做带来的优势。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于...

    使用JQUery解析JSON字符串

    在IT行业中,JavaScript库jQuery是前端开发中...以上就是关于“使用jQuery解析JSON字符串”这一主题的详细讲解,涵盖了JSON的基础知识、jQuery的解析方法以及动态更新DOM的内容。希望对您在实际项目中的应用有所帮助。

    jquery解析JSON数据的方法.docx

    在JavaScript和jQuery中,解析JSON数据是常见的任务,特别是在与服务器进行异步通信时。JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人和机器都能容易地读取和写入数据。当jQuery从服务器...

    Jquery解析json

    6. **前端jQuery解析JSON数据** #### JSON介绍 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON格式基于JavaScript的一个子集,但JSON是独立于...

    Jquery解析json数据详解

    最近被jquery折磨了一番,倒腾了一个jquery解析json的demo,本demo想实现从asp.net后台实例化dataSet或者dataTable数据集,将dataSet转换成json并返回给客户端,客户端用jquery getJson方法解析出来并显示在页面上。...

    Jquery.json.js

    在实际项目中,通过使用jQuery提供的这些方法,开发者可以轻松地处理JSON数据,实现与服务器的高效通信。同时,理解jQuery与JSON的交互方式对于Web开发人员来说至关重要,能够提升开发效率和代码质量。

    jquery实现json数据填充到table表格中并且实现remove add 数据

    以上就是使用jQuery将JSON数据填充到表格,并实现增删功能的基本流程。在这个过程中,我们利用了jQuery的便利性,如选择器、DOM操作和事件处理,大大简化了代码。同时,js作为基础,使得整个交互更加流畅。记住,...

    使用JQuery实现从JSON对象转换为form提交数据

    首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和生成。在前端应用中,我们经常从服务器获取JSON格式的数据,然后在...

    4级级联菜单JQUERY+JSON版

    4. **jQuery处理**:在页面加载完成后,使用jQuery解析JSON数据,并根据数据动态生成DOM元素。例如,遍历JSON对象,创建对应的li元素,然后将其添加到对应的ul元素中。 5. **事件绑定**:监听用户的鼠标事件,当...

    jquery获取json数据的并分页案例

    本案例将深入探讨如何使用jQuery来获取JSON数据并实现分页功能,这对于网页应用的数据展示至关重要。 首先,理解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于...

    jquery-json使用

    一、解析JSON数据 在jQuery中,我们可以使用`$.parseJSON()`方法将JSON字符串转换为JavaScript对象。例如,假设我们从服务器获取到一个JSON字符串: ```json var jsonString = '{"name": "John", "age": 30, "city...

    基于jquery+json的通用三级联动下拉列表.rar

    3. **jQuery初始化**:加载页面后,使用jQuery解析JSON数据并填充第二级和第三级下拉列表的初始选项。 4. **事件绑定**:为第一个下拉列表绑定`change`事件,当选项改变时,使用jQuery获取新的选中值,遍历JSON数据...

    jQuery树状json数据转表格插件.zip

    使用此插件时,开发者通常需要引入jQuery库和插件文件,然后按照文档指示配置JSON数据源和表格容器,最后调用插件方法进行数据转换和渲染。 总的来说,"jQuery树状json数据转表格插件"是一个实用的工具,它有效地...

    jQuery解析json数据实例分析

    本文主要介绍了如何利用jQuery解析JSON数据,并通过实例详细阐述了在前端页面中利用jQuery处理从服务器端通过Servlet返回的JSON格式数据的具体方法。以下将结合提供的内容,具体介绍相关的知识点: 1. JSON数据格式...

    jquery_json.rar_JSON_jquery_jquery-json_jquery.json_jquery.json.

    总结来说,`jquery_json.rar`中的插件为jQuery提供了JSON处理能力,使得在JavaScript环境中处理JSON数据变得更加便捷,特别是在那些不支持原生JSON API的旧版浏览器中。这个插件的使用,极大地促进了Web应用的开发...

Global site tag (gtag.js) - Google Analytics