将JSON属性转换为int php

时间:2016-05-24 16:16:37

标签: javascript php json ajax server

我在javascript中有这段代码:

<?php
        $fp = fopen('/data/DecisionTableRows.json', 'w');
        fwrite($fp, json_encode($_POST['oRows']));
        fclose($fp);
?>

和php中的代码:

/data/DecisionTableRows.json

但是在JSON文件.px中我仍然将属性Id作为字符串,我如何将其写为int?

1 个答案:

答案 0 :(得分:2)

问题是$ _POST变量总是字符串。

为了避免手动执行is_numeric并在PHP中对每一个进行强制转换,您可以这样做:

var oRows= [];
 for(var i = 0 ; i < 3 ; i ++) {
 var oItem = {name: "example", id: i};
 oRows.push(oItem);
}
 $.ajax({
   url: '/savejson.php',
   method: 'post',
   data: { 'oRows': JSON.stringify(oRows) }
 }).done(function (data) {
     console.log(data);
 });

和PHP

<?php
        $fp = fopen('/data/DecisionTableRows.json', 'w');
        fwrite($fp, $_POST['oRows']);
        fclose($fp);
?>

通过这种方式,您可以将编码的责任转移到JSON,而JavaScript则可以使用原始数据。