我无法从多维数组中获取数据。
我有一个.php文件,它从数据库中获取数据并编码为JSON
JSON= {"1":{"SME":"0","SAUDE":"0"}....
我期待的例子:
array{
0 => Array{"SME" => 1,
"SAUDE" =>4}
1 => Array{"SME" => 10,
"SAUDE" => 0}
}
在我的.HTML中
$.getJSON('getOrgaoAno.php', function(data) {
$.each(data, function(key, val) {
alert(key); // Show me the index of the first array
alert(val); //Show me [OBJECT] in the alert box
}
});
如何从第二个数组中获取数据并将其放入我的.HTML数组中以在Chart.js中使用?
更新1
我从.php编码到JSON得到了什么(现在我使用的是console.log thx,它更容易)
“1,2,3 .... 9”是包含对象
的第一个数组的“键”1
Object { SECRETARIA MUNICIPAL DE DESENVOLVIMENTO URBANO : "0", SECRETARIA MUNICIPAL DE SAUDE: "0", SETOR DE RH: "0", SECRETARIA MUNICIPAL DE CULTURA, TURISMO, ESPORTE E LAZER : "0", SETOR DE CADASTRO DE IMOVEIS: "0", SECRETARIA MUNICIPAL DE DESENVOLVIMENTO ECONÔMICO, TRABALHO E MEIO AMBIENTE: "0", SETOR AGILIZA: "0" }testedados.html:21:5
2
Object { SECRETARIA MUNICIPAL DE DESENVOLVIMENTO URBANO : "1", SECRETARIA MUNICIPAL DE SAUDE: "0", SETOR DE RH: "0", SECRETARIA MUNICIPAL DE CULTURA, TURISMO, ESPORTE E LAZER : "0", SETOR DE CADASTRO DE IMOVEIS: "0", SECRETARIA MUNICIPAL DE DESENVOLVIMENTO ECONÔMICO, TRABALHO E MEIO AMBIENTE: "0", SETOR AGILIZA: "0" }testedados.html:21:5
3
Object { SECRETARIA MUNICIPAL DE DESENVOLVIMENTO URBANO : "0", SECRETARIA MUNICIPAL DE SAUDE: "1", SETOR DE RH: "1", SECRETARIA MUNICIPAL DE CULTURA, TURISMO, ESPORTE E LAZER : "0", SETOR DE CADASTRO DE IMOVEIS: "0", SECRETARIA MUNICIPAL DE DESENVOLVIMENTO ECONÔMICO, TRABALHO E MEIO AMBIENTE: "0", SETOR AGILIZA: "0" }testedados.html:21:5
4
Object { SECRETARIA MUNICIPAL DE DESENVOLVIMENTO URBANO : "0", SECRETARIA MUNICIPAL DE SAUDE: "0", SETOR DE RH: "0", SECRETARIA MUNICIPAL DE CULTURA, TURISMO, ESPORTE E LAZER : "1", SETOR DE CADASTRO DE IMOVEIS: "0", SECRETARIA MUNICIPAL DE DESENVOLVIMENTO ECONÔMICO, TRABALHO E MEIO AMBIENTE: "0", SETOR AGILIZA: "0" }testedados.html:21:5
5
Object { SECRETARIA MUNICIPAL DE DESENVOLVIMENTO URBANO : "0", SECRETARIA MUNICIPAL DE SAUDE: "0", SETOR DE RH: "0", SECRETARIA MUNICIPAL DE CULTURA, TURISMO, ESPORTE E LAZER : "1", SETOR DE CADASTRO DE IMOVEIS: "0", SECRETARIA MUNICIPAL DE DESENVOLVIMENTO ECONÔMICO, TRABALHO E MEIO AMBIENTE: "1", SETOR AGILIZA: "0" }testedados.html:21:5
6
Object { SECRETARIA MUNICIPAL DE DESENVOLVIMENTO URBANO : "0", SECRETARIA MUNICIPAL DE SAUDE: "0", SETOR DE RH: "0", SECRETARIA MUNICIPAL DE CULTURA, TURISMO, ESPORTE E LAZER : "0", SETOR DE CADASTRO DE IMOVEIS: "0", SECRETARIA MUNICIPAL DE DESENVOLVIMENTO ECONÔMICO, TRABALHO E MEIO AMBIENTE: "0", SETOR AGILIZA: "0" }testedados.html:21:5
7
Object { SECRETARIA MUNICIPAL DE DESENVOLVIMENTO URBANO : "0", SECRETARIA MUNICIPAL DE SAUDE: "0", SETOR DE RH: "0", SECRETARIA MUNICIPAL DE CULTURA, TURISMO, ESPORTE E LAZER : "0", SETOR DE CADASTRO DE IMOVEIS: "0", SECRETARIA MUNICIPAL DE DESENVOLVIMENTO ECONÔMICO, TRABALHO E MEIO AMBIENTE: "1", SETOR AGILIZA: "0" }testedados.html:21:5
8
Object { SECRETARIA MUNICIPAL DE DESENVOLVIMENTO URBANO : "0", SECRETARIA MUNICIPAL DE SAUDE: "0", SETOR DE RH: "0", SECRETARIA MUNICIPAL DE CULTURA, TURISMO, ESPORTE E LAZER : "0", SETOR DE CADASTRO DE IMOVEIS: "0", SECRETARIA MUNICIPAL DE DESENVOLVIMENTO ECONÔMICO, TRABALHO E MEIO AMBIENTE: "1", SETOR AGILIZA: "0" }testedados.html:21:5
9
Object { SECRETARIA MUNICIPAL DE DESENVOLVIMENTO URBANO : "0", SECRETARIA MUNICIPAL DE SAUDE: "0", SETOR DE RH: "0", SECRETARIA MUNICIPAL DE CULTURA, TURISMO, ESPORTE E LAZER : "0", SETOR DE CADASTRO DE IMOVEIS: "0", SECRETARIA MUNICIPAL DE DESENVOLVIMENTO ECONÔMICO, TRABALHO E MEIO AMBIENTE: "0", SETOR AGILIZA: "0" }
所以,我想在数组中分割对象的“键”和“值”
如果可能的那样
var Desc =“Key”
var Valor =“Value”
或者更好地改变我从.php获取数据的方式?
更新2
要选择数组中的值,请使用
两个“Jquery.each”
var index = 0;
var index2 = 0;
jQuery.each( data, function( key, value ) {
index++;
index2 = 0;
jQuery.each( value, function( key, value ) {
if (index2 == 0)
{
arrDesc[index] = key;
arrDesc[index] += ",";
arrQtd[index] = value;
index2 ++;
}
else
{
arrDesc[index] += key;
arrDesc[index] += ",";
arrQtd[index] += value;
}
});
});
答案 0 :(得分:4)
尝试使用console.log()
调试代码而不是警报。然后您将看到以下内容(使用F12
打开浏览器控制台。要将内部对象推送到数组,您只需使用Array.prototype.push()
。
var j = {"1":{"SME":"0","SAUDE":"0"}};
var arr = [];
$.each(j, function(key, val) {
console.log(key); // 1
console.log(val); // Object {SME: "0", SAUDE: "0"}
console.log(val.SAUDE); // 0
console.log(val.SME); // 0
// add the object to the array:
arr.push(val);
});
答案 1 :(得分:0)
您的PHP脚本“getOrgaoAno.php”应如下所示
<?php
$data = array(/*YOUR DATA IS HERE*/);
echo json_encode($data);
?>
在“&lt;?php”之前和“?&gt;”之后的“getOrgaoAno.php”脚本中没有更多的空格或任何字符,否则JavaScript中的JSON格式错误
你的JavaScript没问题,只需从浏览器进行控制即可。
<script type="text/javascript">
$.getJSON('getOrgaoAno.php', function(data) {
$.each(data, function(key, val) {
console.log(key); //Show me the index of the first array
console.log(val); //Show me [OBJECT] in the console
})
});
</script>