{
"general": {
"knx_Gateway": "te",
"knx_Port": "gas",
"knx_Medium": "TP1",
"knx_timezone": "+3"
},
"devices":[
{
"id": "0",
"knx_dn": "testing",
"knx_ga": "2",
"knx_dt": "Bit"
},
{
"id": "1",
"knx_dn": "0",
"knx_ga": "0",
"knx_dt": "Bit"
},
{
"id": "2",
"knx_dn": "0",
"knx_ga": "5",
"knx_dt": "Byte"
},
{
"id": "3",
"knx_dn": "0",
"knx_ga": "0",
"knx_dt": "Byte"
},
{
"id": "4",
"knx_dn": "0",
"knx_ga": "0",
"knx_dt": "Byte"
}
]
}这就是我到目前为止所尝试的:
//getting the data from the HTML page into an JSON format
$knxGenSet->general->knx_Gateway = $_POST["ipgate"];
$knxGenSet->general->knx_Port = $_POST["ipport"];
$knxGenSet->general->knx_Medium = $_POST["ipmedium"];
$knxGenSet->general->knx_timezone = $_POST["iptimezone"];
for($i=0; $i<5; $i++){
echo "The number is " . $i . "<br>";
$knxGenSet->devices->id = $i;
$knxGenSet->devices->knx_ga = $_POST["dn" + $i];
$knxGenSet->devices->knx_dn = $_POST["ga" + $i];
$knxGenSet->devices->knx_dt = $_POST["dt" + $i];
}我不能得到设备的其他部分,似乎我在这里做错了什么,但我已经可以阅读这个json格式。阅读部分工作完美!:)
提前感谢( json版图上的菜鸟!:()
发布于 2020-02-15 22:27:16
可以使用对象指定格式:
<?php
$_POST = [
"ipgate" => "testing",
"ipport" => "testing",
"ipmedium" => "testing",
"iptimezone" => "testing",
"dn0" => "test_1",
"ga0" => "test_1",
"dt0" => "test_1",
"dn1" => "test_2",
"ga1" => "test_2",
"dt1" => "test_2",
];
$knxGenSet = (object) [
'general' => (object) [],
'devices' => []
];
$knxGenSet->general->knx_Gateway = $_POST["ipgate"];
$knxGenSet->general->knx_Port = $_POST["ipport"];
$knxGenSet->general->knx_Medium = $_POST["ipmedium"];
$knxGenSet->general->knx_timezone = $_POST["iptimezone"];
for($i=0; $i<2; $i++){
// echo "The number is " . $i . "<br>";
$knxGenSet->devices[] = (object) [
'id' => $i,
'knx_ga' => $_POST["dn" . $i],
'knx_dn' => $_POST["ga" . $i],
'knx_dt' => $_POST["dt" . $i]
];
}
echo json_encode($knxGenSet);结果:
{
"general": {
"knx_Gateway": "testing",
"knx_Port": "testing",
"knx_Medium": "testing",
"knx_timezone": "testing"
},
"devices": [
{
"id": 0,
"knx_ga": "test_1",
"knx_dn": "test_1",
"knx_dt": "test_1"
},
{
"id": 1,
"knx_ga": "test_2",
"knx_dn": "test_2",
"knx_dt": "test_2"
}
]
}https://stackoverflow.com/questions/60239533
复制相似问题