将数据从JSON对象加载到数组中

Load data from a JSON object into an array

本文关键字:数组 加载 对象 数据 JSON      更新时间:2023-09-26

我从多维数组中获取数据有困难。

我有一个。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" }

那么,我想在数组中拆分对象的"key"answers"value"

Like that if possible

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;
         }
      });
    });

尝试使用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);     
});

您的PHP脚本"getOrgaoAno.php"应该如下所示

<?php
 $data = array(/*YOUR DATA IS HERE*/);
 echo json_encode($data);
?>

在"",否则JavaScript中的JSON格式错误

和你的JavaScript是ok的,只是控制台从浏览器。

<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>