我有两个 JavaScript 类:
function Sensor(sensorNumber, name, m, b, selected) {
"use strict";
this.sensorNumber = sensorNumber;
this.name = name;
this.m = m;
this.b = b;
this.selected = selected;
}
下面的 Chart 类包含上面 Sensor 类的数组、一些变量和一个 timeSpan 类:
function Chart(index, allsensors) {
"use strict";
this.chartName = $("#newChartName").val();
this.chartNumber = index;
this.sensorsArray = allsensors;
this.time = new TimeSpan();
}
我通过 Jquery AJAX 将“图表”对象变量发送到 PHP:
function obtainChartData(chart) {
"use strict";
$.ajax({
url: 'server/ExtractTelemetry.php',
type: "POST",
data: JSON.stringify(chart),
success: function (msg) {
alert(msg);
}
});
}
PHP 收到它,这就是我卡住的地方。我需要为传感器对象数组中的每个元素获取“this.Selected”。
<?php
$json = file_get_contents('php://input');
$chart = json_decode($json);
echo $startTime = $chart->time->startSec." "; //CORRECT
echo $endTime = $chart->time->endSec." "; //CORRECT
echo $chartName = $chart->chartName." "; //CORRECT
echo $chartNumber = $chart->chartNumber." "; //CORRECT
for(...) {
echo $allSensors = $chart->allSensors[someIndexValue]->selected; //why does this not work??
}
?>
更新:
这是 PHP 错误输出
JSON 输出(缩短但应该足够的信息):
object(stdClass)#1 (4) {
["chartName"]=> string(7) "Chart#1"
["chartNumber"]=> int(1)
["sensorsArray"]=> object(stdClass)#2 (44) {
["B0"]=> object(stdClass)#3 (5) {
["sensorNumber"]=> int(0)
["name"]=> string(10) "SRBUS(mV)"
["m"]=> string(6) "1.2811"
["b"]=> string(8) "-4.1559"
["selected"]=> bool(false)
}
["B1"]=> object(stdClass)#4 (5) {
["sensorNumber"]=> int(1)
["name"]=> string(10) "SRBUS(mA)"
["m"]=> string(6) "0.6137"
["b"]=>...
最佳答案
json_decode 返回一个 stdObject。
可以访问该对象的属性$myObject = json_decode($myString);
$myObject->myProperty;
如果你想要一个从 json_decode 返回的数组传递第二个参数 'true'
$myArray = json_decode($myString, true);
关于javascript - JSON 到 PHP : Obtaining the Object Array data within an Object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32712088/