将JSON数组中的字符串元素解析为整数

时间:2015-01-08 09:22:58

标签: javascript php jquery json

 $con = new DBConnector();
 $sth =  $con->Query("SELECT medicinename as label, factor as data FROM medicine_master_tbl limit 4");
$rows = array();
while($r = mysql_fetch_assoc($sth)) {
         $rows[] = $r;
      }
echo json_encode($rows);

我的查询没有问题,但返回的值是..

[{"label":"rrp","data":"5"},{"label":"t","data":"34"},{"label":"tt","data":"4"},{"label":"nutrachin","data":"45"}]

我需要json数组,如下所示..

[{"label":"rrp","data":5},{"label":"t","data":34},{"label":"tt","data":4},{"label":"nutrachin","data":45}]

将数据视为此数组中的字符串,我需要将其解析为整数..提前感谢。

2 个答案:

答案 0 :(得分:2)

一个简单的。

while ($r = mysql_fetch_assoc($sth)) {
     $r["data"] = intval($r["data"]);
     $rows[] = $r;
}

答案 1 :(得分:1)

理想情况下,如果factor是数字类型,您的数据库连接器将允许您指定要在行中返回的数据类型。例如,PDO和mysqlnd可以返回本机​​类型(请参阅How to get numeric types from MySQL using PDO?)。

但是,您可以执行以下操作:

while ($r = mysql_fetch_assoc($sth)) {
    $r['data'] = intval($r['data']);
    $rows[] = $r;
}

这样,您的JSON编码将具有整数。