我有一个相当大的JSON文件,其中包含不同电影的评分,评论等。语法如下:
reviews_object={"2396": {"xyz001": {"reg_date": null, "object": 2396, "rating": 3, "mod_date": "2008-11-17", "comment": "", "username": "xyz001"}}, "1107": {"xyz001": {"reg_date": null, "object": 1107, "rating": 4, "mod_date": "2006-11-26", "comment": "", "username": "xyz001"}
Javascript代码
var ratingList = document.querySelector("rating");
function averageRating () {
var reviews = reviews_object;
var reviewList = []; // Array of reviews
for (var i in reviews) {
reviewList.push(reviews[i])
console.log(reviewList);
}
}
function displayRating (reviewList) {
for (var i = 0; i < reviewList.length; i++) {
var li = document.createElement("li")
li.innerHTML = reviewList[i].rating;
rating.appendChild(li);
}
}
显然它不起作用,而且我对下一步做什么感到困惑。这个JSON文件仅用于评级和评论,我还有一个关于电影本身(标题,长度等)的文件。两个JSON对象都有对象ID,您可以在我发布的JSON代码中看到。 我想要做的是解析JSON评级对象,并特别将评级键及其值列出到其他JSON文件中的相应对象ID。
可能是我想要做的不好的解释,但问你是否想知道更多
答案 0 :(得分:0)
json表示具有属性“2396”,“1107”的对象,而不是数组。 你的javascript应该可以运行,只需修复你后端的返回,这样你就可以得到一个实际的数组。
需要2个新属性
$A$7
如果您希望将其分组,则应使用
[{
"PROPERTY1": "2396",
"PROPERTY2": "xyz001",
"reg_date": null,
"object": 2396,
"rating": 3,
"mod_date": "2008-11-17",
"comment": "",
"username": "xyz001"
},{
"PROPERTY1": "1107",
"PROPERTY2": "xyz001",
"reg_date": null,
"object": 1107,
"rating": 4,
"mod_date": "2006-11-26",
"comment": "",
"username": "xyz001"
}]
您必须遍历每个节点的data属性。
答案 1 :(得分:0)