Javascript 将JSON属性转换为int-php
我有以下javascript代码:Javascript 将JSON属性转换为int-php,javascript,php,json,ajax,server,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) { consol
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);
});
var-oRows=[];
对于(变量i=0;i<3;i++){
var oItem={name:“example”,id:i};
或推(oItem);
}
$.ajax({
url:“/savejson.php”,
方法:“post”,
数据:{'oRows':oRows}
}).完成(功能(数据){
控制台日志(数据);
});
和php中的代码:
<?php
$fp = fopen('/data/DecisionTableRows.json', 'w');
fwrite($fp, json_encode($_POST['oRows']));
fclose($fp);
?>
但是在JSON文件
/data/DecisionTableRows.JSON中,我仍然将属性Id作为字符串获取,如何将其作为int写入?问题在于$\u 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);
});
var-oRows=[];
对于(变量i=0;i<3;i++){
var oItem={name:“example”,id:i};
或推(oItem);
}
$.ajax({
url:“/savejson.php”,
方法:“post”,
数据:{'oRows':JSON.stringify(oRows)}
}).完成(功能(数据){
控制台日志(数据);
});
在PHP中
<?php
$fp = fopen('/data/DecisionTableRows.json', 'w');
fwrite($fp, $_POST['oRows']);
fclose($fp);
?>
通过这种方式,您可以将编码为JSON的责任转移到JavaScript上,后者确实有原始数据要处理 问题在于$\u 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);
});
var-oRows=[];
对于(变量i=0;i<3;i++){
var oItem={name:“example”,id:i};
或推(oItem);
}
$.ajax({
url:“/savejson.php”,
方法:“post”,
数据:{'oRows':JSON.stringify(oRows)}
}).完成(功能(数据){
控制台日志(数据);
});
在PHP中
<?php
$fp = fopen('/data/DecisionTableRows.json', 'w');
fwrite($fp, $_POST['oRows']);
fclose($fp);
?>
通过这种方式,您可以将编码为JSON的责任转移到JavaScript上,后者确实有原始数据要处理 您需要在服务器端执行显式类型case,因为http请求值是无类型的。或者,您可以将最终的JSON格式从客户端发送到服务器。您真的需要将其作为一个整数而不是字符串,并且不能在需要的地方键入cast。在将post数据发送到服务器之前,请执行JSON。stringify
,并在不使用JSON编码的情况下写入<代码>$\u POST
变量总是字符串。我想他是说,如果你做数据:{'oRows':JSON.stringify(oRows)}
并将其作为字符串发送,然后不在服务器端编码,你将保留整数代码>您需要在服务器端执行显式类型case,因为http请求值是无类型的。或者,您可以将最终的JSON格式从客户端发送到服务器。您真的需要将其作为一个整数而不是字符串,并且不能在需要的地方键入cast。在将post数据发送到服务器之前,请执行JSON。stringify
,并在不使用JSON编码的情况下写入<代码>$\u POST
变量总是字符串。我想他是说,如果你做数据:{'oRows':JSON.stringify(oRows)}
并将其作为字符串发送,然后不在服务器端编码,你将保留整数代码>