【问题标题】:How to get an element data after parseJSONparseJSON后如何获取元素数据
【发布时间】:2015-03-17 10:36:44
【问题描述】:

当我回显一个变量时,该变量包含从数据库中获取的数据。

    $query = "Select cal_date, mfg_name, sales_amt, mkt_share 
              from (---here comes subquery--) 
              group by TO_DATE(cal_date, 'YYYYMMDD'), mfg_name 
              order by mfg_name, cal_date


    $data = json_encode($results);
    echo $data; die();  

输出结果如下。

    {"8":{
          "CAL_DATE":"01-APR-2013",
          "MFG_NAME":"AMS",
          "SALES_AMT":"1630",
          "MKT_SHARE":".01"
         },
     "9":{
          "CAL_DATE":"01-AUG-2012",
          "MFG_NAME":"TEVA",
          "SALES_AMT_USD":"876",
          "MKT_SHARE":".59"
         }
     }

我不知道为什么我在每个元素数据之前得到“8”“9”。如何从警报中获取 MFG_NAME。就像我尝试过以下一样

var cdata = new Array();
cdata = <?php echo $data; ?>; 
var dlen    = cdata.length;
var mfg_name    = new Array();

for(var i=0 ; i<dlen; i++ )
{
    mfg_name[i]   = cdata[i].MFG_NAME;
}
alert(mfg_name);

我在警报中得到空结果。例如,我如何在上面的警报中获得AMS, TEVA?我必须做 parseJSON 还是如何获得它?

提前谢谢...

【问题讨论】:

  • 请将所有相关代码放入您的问题中。那么你可能会得到帮助而不是猜测。
  • 这是我的相关代码。我保留了大部分所需的代码。

标签: javascript php jquery json parsing


【解决方案1】:

这对我有用:

cdata = '{"8":{"CAL_DATE":"01-APR-2013","MFG_NAME":"AMS","SALES_AMT":"1630","MKT_SHARE":".01"},"9":{"CAL_DATE":"01-AUG-2012","MFG_NAME":"TEVA","SALES_AMT_USD":"876","MKT_SHARE":".59"}}';
cdata = JSON.parse(cdata);
var mfg_name    = new Array();
var i = 0;
for(var key in cdata ){
   mfg_name[i]  = cdata[key].MFG_NAME;
   i++;
}
alert(mfg_name);

提醒AMS,TEVA

【讨论】:

    【解决方案2】:

    因此,您的 PHP 正在输出 JSON 字符串,因为没有设置内容类型标头。因此,您需要将其解析为 JSON 对象,然后通过键循环访问值,如下所示。

    var json = JSON.parse('{"8":{"CAL_DATE":"01-APR-2013","MFG_NAME":"AMS","SALES_AMT":"1630","MKT_SHARE":".01"},"9":{"CAL_DATE":"01-AUG-2012","MFG_NAME":"TEVA","SALES_AMT_USD":"876","MKT_SHARE":".59"}}');
    
    for (var key in json) {
        alert (json[key]["MFG_NAME"]);
    }
    

    演示@fiddle

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-09
      • 1970-01-01
      • 2012-06-17
      • 2018-07-25
      • 2013-10-10
      • 2022-06-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多