javascript - 将 JSON 属性转换为 int php

标签 javascript php json ajax server

我的 JavaScript 代码如下:

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': oRows }
 }).done(function (data) {
     console.log(data);
 });

以及 php 中的代码:

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

但在 JSON 文件 /data/DecisionTableRows.json 中,我仍然以字符串形式获取属性 Id,我如何将其写为 int?

最佳答案

问题在于 $_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,JavaScript 确实可以使用原始数据。

关于javascript - 将 JSON 属性转换为 int php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37418889/

相关文章:

javascript - 如何在 JavaScript 中将 json 哈希值转换为数组哈希值?

JavaScript 命名空间未捕获类型错误

javascript - 给定形状列表动态创建的复杂 HTML 网格

php - 如何将数组的值分布在三列中?

php - INSERT IGNORE INTO 不起作用

json - 向 JSON 文件添加注释

javascript - Electron 选择带有文本输入和 onclick 事件的目录

javascript - JS : Storing a function as a variable

php - woocommerce_cart_calculate_fees 在 woocommerce_before_cart_table 之后加载

javascript - Node JS,从两个链接同步发出HTTPS请求