{
"3": {
"id": "3",
"ocena_ocena": "2",
"ocena_profesor": "\u041c\u0430\u0440\u043a\u043e \u041c\u0430\u0440\u043a\u043e\u0432\u0438\u045b",
"ocena_napomena": "",
"ocena_datum": "31.12.2015."
},
"1": {
"id": "1",
"ocena_ocena": "5",
"ocena_profesor": "\u041c\u0430\u0440\u043a\u043e \u041c\u0430\u0440\u043a\u043e\u0432\u0438\u045b",
"ocena_napomena": "",
"ocena_datum": "22.12.2015."
}
}
我正在使用ajax来获取此JSON。我尝试解析它:
request.done(function(response) {
alert(response.ocena_ocena);
});
有人可以帮帮我吗?
我还需要知道如何使用json进行foreach
语句?
答案 0 :(得分:2)
由于您的JSON代表JavaScript对象,因此您应该包含attribute
名称(如果我们将JavaScript对象视为地图,那么我们需要使用key
)。
尝试
response["1"].ocena_ocena
或
response["3"].ocena_ocena
由于您从服务器而不是数组返回JSON对象,要迭代其属性,您可以执行
for (var i in response) {
console.log(response[i].ocena_ocena);
}
或
Object.keys(response).forEach(function f(e) {console.log(response[e].ocena_ocena)})
如果您可以修改服务器端代码以返回看起来像这样的JSON,
[
{
"id": "3",
"ocena_ocena": "2",
...
},
{
"id": "1",
"ocena_ocena": "5",
...
}
]
然后你可以更轻松地迭代它
response.forEach(function f(e) {console.log(e.ocena_ocena)})