如何从json中取数据?

如何从json中取数据?,第1张

只能用循环,代码如下:

[html] view plain copy

var head_id = ""

var head_pid = ""

for (var i = 0i <data.head.lengthi++) {

head_id += data.head[i].id + " "    //循环输出json数据

head_pid += data.head[i].pid + " "

}

$("#city").append("city:" + head_id)                 

$("#city").append("province:" + head_pid) 

这样,将会在data之后,依次输出json中的数据。

若想有选择性的输出时,需要添加if条件,代码如下:

[html] view plain copy

for (var i = 0i <data.head.lengthi++) {

if (data.head[i].pid == "河南省") {    //有选择的输出json数据

head_pid += data.head[i].pid

}

}

ps:需要注意的是,倘若对象中有多组数据,则用data.head.id是undefined的,因为没有标明是哪组数据,例如data.head[0].id,若对象中只有一组数据,则可以直接用data.head.id输出。

json文件是一种轻量级的数据交互格式。一般在jquery中使用getJSON()方法读取。

$.getJSON(url,[data],[callback])

url:加载的页面地址

data: 可选项,发送到服务器的数据,格式是key/value

callback:可选项,加载成功后执行的回调函数

1.首先建一个JSON格式的文件userinfo.json 保存用户信息。如下:

?

1234567891011121314151617

[{"name":"张国立","sex":"男","email":"zhangguoli@123.com"},{"name":"张铁林","sex":"男","email":"zhangtieli@123.com"},{"name":"邓婕","sex":"女","email":"zhenjie@123.com"}]

2.其次建一个页面用于获取JSON文件里的用户信息数据,并显示

?

123456789101112131415161718192021222324252627282930313233343536373839404142

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" /><title>getJSON获取数据</title><script type="text/javascript" src="js/jquery-1.8.2.min.js"></script><style type="text/css">#divframe{ border:1px solid #999width:500pxmargin:0 auto}.loadTitle{ background:#CCCheight:30px}</style><script type = "text/javascript" >$(function (){ $("#btn").click(function () {$.getJSON("js/userinfo.json", function (data){ var $jsontip = $("#jsonTip") var strHtml = "123" //存储数据的变量 $jsontip.empty() //清空内容 $.each(data, function (infoIndex, info){strHtml += "姓名:" + info["name"] + "<br>" strHtml += "性别:" + info["sex"] + "<br>" strHtml += "邮箱:" + info["email"] + "<br>" strHtml += "<hr>" }) $jsontip.html(strHtml) //显示处理后的数据}) })})</script></head><body><div id="divframe"><div class="loadTitle"><input type="button" value="获取数据" id="btn"/></div><div id="jsonTip"></div></div></body></html>

直接输出就可以了 String jsondata = "{'a':" + a + ",'b':" + b + ",'c':" + c + "}"如果abc是字符串就加上单引号,如 String jsondata = "{'a':'" + a + "','b':'" + b + "','c':'" + c + "'}"如果abc是数组 String jsondata = "{'a':[" + a[0] + "," + a[1] + "," + a[2] + "],'b':...}" 如果abc是对象就相对复杂一点 String jsondata = "{'a':{'a_paramStr':'" + a.paramStr + "','a_pramaInt'}:a.pramaInt},'b':...}"当然,如果对象的成员变量很多,可以可以通过对象遍历的方式输出,还有包含子对象、子子对象的情况 总结如下 格式:{'数据名':数据值} 数据值为数字时,直接输出 数据值为字符串时,用单引号包含值,'数据值' 数据值为数组时,用中括号包含,[数据值1,数据值2,...] 数据值为对象时,用大括号包含,{'成员名1':成员数值1,'成员名2':{'成员2对象的成员1','成员2对象的成员1值'},...} 数据与数据之间用逗号隔开,以上 一句话,如果传送数据很简单可以自己输出如果很复杂,乖乖用三方json包吧,我真不懂为什么抗拒别人做的车轮


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9948531.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存