所以我有一个 for 循环,它为每个结果记录返回一个
ID 姓名 开始日期 结束日期
这是下面的for循环>
for (var i = 0; i < data.d.results.length; i++) {
}
所以最后根据返回的记录数量,我将得到其中的一些。
我真正想做的是,因为这些记录是在循环中动态创建的,所以将它们添加到我的 json 对象中
jsonObject= [{
id: 0, name: Name1, series: [{ start: Startdate1, end: Enddate1 }],
id: 1, name: Name2, series: [{ start: Startdate2, end: Enddate2 }],
id: 2, name: Name3, series: [{ start: Startdate3, end: Enddate3 }],
}];
因此,通过循环,id 的 1 被添加到对象中,然后是 2,然后是 3。 我一直在阅读 .push 方法,但不确定如何构建这个方法。
最佳答案
这应该可以实现您正在寻找的内容。
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js" ></script>
<script type='text/javascript' src='https://github.com/douglascrockford/JSON-js/raw/master/json2.js'></script>
<script type="text/javascript">
var data = {};
data.d = {};
data.d.results = [
["1", "Bob", "01/01/2007", "12/31/2010"],
["2", "Jim", "01/01/2007", "12/31/2010"],
["3", "Tom", "01/01/2007", "12/31/2010"]
];
var jsonObject = [];
for (var i = 0; i < data.d.results.length; i++) {
var jsonItem = {};
jsonItem.id = data.d.results[i][0];
jsonItem.name = data.d.results[i][1];
jsonItem.series = [];
var jsonSeries = {}
jsonSeries.start = data.d.results[i][2];
jsonSeries.end = data.d.results[i][3];
jsonItem.series.push(jsonSeries);
jsonObject.push(jsonItem);
}
alert(JSON.stringify(jsonObject));
</script>
</head>
<body>
</body>
</html>
关于jquery - 从 for 循环中检索值并将它们动态添加到数组中的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5259847/