我要做的是解析这个JSON:http://www.theunjust.com/test/container.php
现在就让它显示......
这是我目前的代码(全部搞砸了)
$(document).ready(function(){
var jsonurl = "container.php";
$.getJSON(jsonurl, function(data) {
$.each(data.encompass,function(i,valu){
var content,
cont = '',
tainers = valu.containers;
$.each(tainers, function (i) {
var tid = tainers[i].TID,
top = tainers[i].Top,
cat = tainers[i].Category,
date = tainers[i].Date,
icon = tainers[i].Icon,
clink = tainers[i].ContainerLink,
uid = tainers[i].UniqueID;
cont += '<a href="' + clink + '">' + uid + '</a> ';
$('ul').append('<li>' + tid + ' - ' + top + ' - ' + cat + ' - ' + date + ' - ' + icon + ' - ' + clink + ' - ' + uid + ' (' + cont + ')</li>');
});
});
});
});
我知道代码没有意义,这对我来说更像是一种学习经验,而不是一种有效的工具。问题可能出在JSON数据本身,如果是这种情况,您会推荐什么stackoverflow Web服务帖子?
我最终的目标是运行多个Web服务并将它们组合起来......所以container.php加载并具有包装div所需的所有信息,然后entries.php加载并填充div是由容器生成的。
我目前正在学习jQuery和老实说,我还没达到这个水平,但我很快就到了那里。
我非常感谢您的帮助,并希望您能指出我成为JSON解析专业人士的方向!
答案 0 :(得分:1)
containers
包含单个节点。所以只需使用
$.each(tainers, function (i, v) {
var tid = v.TID,
top = v.Top,
cat = v.Category,
date = v.Date,
icon = v.Icon,
clink = v.ContainerLink,
uid = v.UniqueID;
cont += '<a href="' + clink + '">' + uid + '</a> ';
$('ul').append('<li>' + tid + ' - ' + top + ' - ' + cat + ' - ' + date + ' - ' + icon + ' - ' + clink + ' - ' + uid + ' (' + cont + ')</li>');
});
答案 1 :(得分:1)
该程序显示如何读取json并将数据存储到文本框中:
$(document).ready(function(){
$.getJSON("Test.json",function(data){
$.each(data,function(key,value){
alert(data[key].attrib1name);
alert(data[key].attrib2name);
$('input').val(data[key].enterpriseName);
activities=data[key].activities;
console.log(value);
});
});
});
答案 2 :(得分:0)
对于初学者来说,不要使用jQuery作为锤子。这是一个核心JavaScript问题。
在JavaScript中只能解析两种结构。数组和对象。
对于对象,请使用:
for(var x in obj){ alert(x + ':' + obj[x]) } //would alert <property name>:<property value>
对于数组,使用类似于PHP的循环。在JS中,while循环很适合数组:
var i = someArray.length;
//if you don't want to loop backwards just do someArray.reverse()
while(i--){
//do stuff to someArray[i] here
}
JSON只是JavaScript中的对象文字。最简单的对象类型。只是一个坚持物业的地方。属性可以是数组,值或其他对象。唯一需要注意的是引用对象中其他属性的对象(在尝试解析时导致无限循环)这对于JSON来说是一件非常愚蠢的事情(甚至不确定会通过验证)。