Javascript JSON-如何提取从django响应接收到的数据?
我的回答是这样的:Javascript JSON-如何提取从django响应接收到的数据?,javascript,django,json,Javascript,Django,Json,我的回答是这样的: [ {"attributeName1":"value1", "attributeName2":"value2"}, {"attributeName1":"value3", "attributeName2":"value4"} ] [{“0”:”k@k.com"}, {"1": "p@p.com"}, {"2": "n@n.com"}, {"3": "b@b.com}, {"4": "k1@k1.com"}, {"5": "z@z.com"}, {"6": "
[
{"attributeName1":"value1", "attributeName2":"value2"},
{"attributeName1":"value3", "attributeName2":"value4"}
]
[{“0”:”k@k.com"}, {"1": "p@p.com"}, {"2": "n@n.com"}, {"3": "b@b.com}, {"4": "k1@k1.com"}, {"5": "z@z.com"}, {"6": "k2@k2.com“}]
我试图通过以下html阅读此内容:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
document.write('Getting JSON response...');
$.getJSON(<my django url>,
function(data) {
alert("receiveng"+data["0"]);
});
});
</script>
</head>
<body>
</body>
</html>
问题在于您的JSON格式,无法对其进行分析/计算。例如,任何JSON对象如下所示:
[
{"attributeName1":"value1", "attributeName2":"value2"},
{"attributeName1":"value3", "attributeName2":"value4"}
]
但是在您的JSON示例中,您有
attributeName1
作为0
。如果我们给变量命名为0
,这是一样的。比如define 0=k@k.com
。这是不可能的。请尝试将其更改为类似于id0
的格式。谢谢大家的帮助
数据[0][0]符号有效
在运行循环直到数据[i][j]值未定义时,
我用过:
数据[i][i.toString()];
它工作得很好。永远不要使用
文档。在任何类型的回调中写入:它不应该在初始代码执行之后执行。填写一个段落并将其附加到页面中(或者在调试期间使用console.log).你能给我们展示一下你的观点吗?只要看看jQuery的小片段就可以了。屏幕上的响应是:[{“0”:k@k.com"}, {"1": "p@p.com"}, {"2": "n@n.com"}]当我运行html时,它只会给出一个空白页面,上面打印有JSON响应。请将代码添加到您的django视图中,而不是创建一个对象数组。这可能不会解决您的问题,但会使以后更容易处理数据。JSON是有效的,没有专业代码将其转换为JavaScript对象数组的错误。这只是有点不寻常。解析后,您可以访问“”k@k.com“
带有数据[0][0]
。到目前为止,变量名不能是数字,但属性名可以。是的,你是对的。当我执行$.parseJSON
时,它将其解析为对象。但是不可能执行数据[“0”].0
。所以它会给出一个错误,或者当它与响应一起返回时,或者当它在getJSON
handler中被接收时<代码>数据[0][0]
有效且有效。这也是为什么我们使用arr[0]
访问数组元素而不是arr.0
的原因。只要属性名是数字,就必须使用括号表示法来访问该值。