我正在尝试使用jquery获取主题数组中的数据内容。如何才能做到这一点 ?我尝试使用$.each
但无法获取内容。
"student": {
"name": "sdfdsf",
"age": 3,
"subject": [
{
"science": "dfsdfdfd",
"book": "sdfds"
},
{
"math": "vbcb",
"book": "sdfds"
}
]
}
答案 0 :(得分:2)
不确定您遇到了什么问题,但以下内容将循环讨论相关数组:
for(var i = 0; i < student.subject.length; i++){
//student.subject[i] refers to the current item in the array
}
通常使用$.each()
循环对象的属性。在这种情况下,您只需循环遍历数组。
答案 1 :(得分:1)
给定JSON(让我们在这里称之为信息)是一个具有节点名称,年龄,主题的对象。 Subject是一个包含名称和书键值对的JSON数组。
在这里,您需要首先访问主题节点,这是一个数组并迭代数组以获取每个子主题。可以在每个数组元素处再次访问键值对。
以下是迭代内容的源代码。
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<style>
</style>
<script type="text/javascript">
$(document).ready(function() {
var info={"student": {
"name": "Tom",
"age": 3,
"subject": [
{
"science": "scscsc",
"book": "SciBook"
},
{
"maths": "mmmm",
"book": "MathBook"
},
{
"History": "hshshs",
"book": "hisBook"
}
]
}};
var subjects=info["student"]["subject"];
//Iterate all the subejcts present in the subject Node
for(i=0;i<subjects.length;i++){
// Get the information of particular subejct
$.each(subjects[i],function(key,val){
alert(i+"> Sub[ "+key+" ]="+val);
})
}
});
</script>
</head>
<body>
</body>
</html>
答案 2 :(得分:0)
在数组上使用$ .each:
$.each( student.subject, function ( arrayIndex, arrayItem){
console.log( arrayItem.science);
});