我正在寻找如何从JSON结果中访问jQuery结果中的项目,如下所示。
[
{"appLayerId":"6002",
"name":"US",
"description":"test",
"dataSource":"POINT",
"status":{
"status":"Success",
"reason":"None",
"otherInfo":null
}
}
]
我在模板中认为它只是${appLayerId}
但这似乎不起作用。
- 更新
如果它有助于某人帮助我,我正在尝试在jsFiddle上遵循此代码。 http://jsfiddle.net/iainjmitchell/kRRXC/ 与该示例的不同之处在于我在jquery模板部分中获取JSON和我的名称的URL。正如我在原帖中提到的那样,我的json就在上面。就像我说的,我可以在firebug中看到json响应,并且没有页面错误,但我没有在模板上看到页面上的任何文本。希望这可以帮助别人帮助我。谢谢。
- 更新2
我显然在这里遗漏了一些简单的东西。你要求查看代码。就像我说的那样,它与那个例子完全一样。这是不同的。
twitterUrl:“http://localhost/Services.Administration/Maintenance.svc/layers?Fmt = application / json”,
然后在模板部分我有这个div。
<div class="source">
<label>${name}, ${appLayerId}</label>
</div>
当你说时,只需访问类似对象的属性。我可以做的对象是什么,objectName.appLayerId在模板中。不确定你到底在说什么,对不起。
希望这有助于您帮助我解决这个问题。谢谢你的帮助。
- 更新3
进一步研究......我做了一个console.dir(this.model);在addAll函数中。在firebug中,控制台将“模型”显示为空。那为什么会这样?同样,我所改变的只是该示例中的URL。
addAll: function(){
var el = this.el;
el.hide().empty();
console.dir(this.model);
this.model.each(function(tweet){
var view = new TweetView({model: tweet});
el.append(view.render().el);
});
el.slideDown(500);
}
答案 0 :(得分:0)
在变量中使用对象的字符串表示,可以使用$.parseJSON()
将其转换为js对象,然后像往常一样使用它。
var result = "[
{'appLayerId':'6002',
'name':'US',
'description':'test',
'dataSource':'POINT',
'status':{
'status':'Success',
'reason':'None',
'otherInfo':null
}
}
]";
var resultObject = $.parseJSON(result);
var subObject1 = resultObject[0];
var appLayerId1 = subObject1.appLayerId;
希望这有帮助。