我在javascript中有这段代码:
<?php
$fp = fopen('/data/DecisionTableRows.json', 'w');
fwrite($fp, json_encode($_POST['oRows']));
fclose($fp);
?>
和php中的代码:
/data/DecisionTableRows.json
但是在JSON文件.px
中我仍然将属性Id作为字符串,我如何将其写为int?
答案 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则可以使用原始数据。