专栏首页Super 前端jQuery中调用JSON和XML数据--jQuery基础知识点(6)

jQuery中调用JSON和XML数据--jQuery基础知识点(6)

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://ligang.blog.csdn.net/article/details/41660933

1. JSON的结构包含两种:一种是name/value形式,另一种为数组格式。

var Obj = {"name":"ligang","age":24,"sex":"male"};
var strObj = {"member":[
	{grade:"一年级",students:{name:["李刚","ligang"]}},
	{grade:"二年级",students:{name:["lg","leegang"]}}
]};

//获取对象属性值
var obj = strObj.member;
$.each(obj,function(index){
	console.log(obj[index].students.name[1]); //ligang leegang
	//console.log(obj[index].students[0].name[1]);  //错误
})

2. 将字符串转成JSON对象

var strInfo = "{'name':'ligang','age':24,'sex':'male'}";   //strInfo.name ==> undefined
var objInfo = eval('('+strInfo+')');	//objInfo.name ==> "ligang"

3. 完整地解析一个XML格式的数据,有两种方式:一种方式是通过DOM文档模型进行解析,另一种方式是遍历各个标签的节点。 4. 与传统的JavaScript调用XML相比,使用jQuery解析方便的多,其先使用$.ajax()方法请求并打开指定的XML文件,然后,在回调函数中获取返回的XML文件数据对象,使用find()、children()、text()方法获取各个标签下的元素并读取元素的值。

var arrGrade = new Array(980886, 980666);
var strHTML = ""; //初始化保存内容变量
$.ajax({
    url: 'Xml/7-6.xml?',
    dataType: 'xml',
    success: function(data) {
        $.each(arrGrade, function(i) {
            var $strUser = $(data).find("User[grade=" + arrGrade[i] + "]");
            strHTML += "<h3>年级:" + arrGrade[i] + "</h3>";
            $strUser.each(function() {
                strHTML += "姓名:" + $(this).children("name").text() + "<br>";
                strHTML += "性别:" + $(this).children("sex").text() + "<br>";
                strHTML += "邮箱:" + $(this).children("email").text() + "<hr>";
            });
        });
        $("#Tip").html(strHTML); //显示处理后的数据
    }
});
<?xml version="1.0" encoding="utf-8" ?>
<Info>
  <User grade="980886">
    <name>ligang</name>
    <sex>男</sex>
    <email>ligang@163.com</email>
  </User>
  <User grade="980886">
    <name>leegang</name>
    <sex>男</sex>
    <email>leegang@163.com</email>
  </User>
  <User grade="980666">
    <name>lg</name>
    <sex>男</sex>
    <email>lg@163.com</email>
  </User>
</Info>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 深入理解ES6--块级作用域、字符串、正则、数组

    在for-in和for-of循环中,因为每次迭代不会(像for循环的例子一样)修改已有绑定,而是会创建一个新绑定。

    奋飛
  • 深入理解ES6--用模块封装代码

    <script>的type属性缺失或者包含一个javascript内容类型(如,text/javascript)时作为脚本加载;type属性值为“module”...

    奋飛
  • JavaScript面向对象精要(一)

    JavaScript虽然没有类的概念,但依然存在两种类型:原始类型和引用类型。 原始类型保存为简单数据值;引用类型则保存为对象,其本质是指向内存位置的引用。

    奋飛
  • 用最简单的例子和最通俗的语言解释单进程和多进程

    采用网上的一个利用复制文件来检测多进程和单进程差异的例子。但是例子中许多关键的解释并未给出,反而给入门新手造成了很多不必要的困扰和门槛。

    一个有趣的灵魂W
  • php反射学习之不用new方法实例化类操作示例

    本文实例讲述了php反射学习之不用new方法实例化类操作。分享给大家供大家参考,具体如下:

    砸漏
  • 安静100分钟理解js面向对象

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head>...

    前朝楚水
  • ThinkPHP中登陆确认机制

    用户1696846
  • python变量,输入、输出、判断、循环

    声明变量 name = 'ajune' 变量赋值 name = 'ajune' name1 = name

    py3study
  • Python局部变量与全局变量区别原理解析

    在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。 当全局变量与局部变...

    砸漏
  • 动手实现一个AMD模块加载器(三)

    在上一篇文章中,我们的AMD模块加载器基本已经能够使用了,但是还不够,因为我们没有允许匿名模块,以及没有依赖等情况。实际上在amd的规范中规定的就是define...

    用户1515472

扫码关注云+社区

领取腾讯云代金券