Dreamfactory PHP скрипт Post.post_process полезной нагрузки изменить
Привет! Я использую Dreamfactory в качестве бэкэнда REST API, и мне нужен PHP-скрипт для предварительной обработки запроса API POST, который может изменить мою полученную полезную нагрузку:
{ "Время": "2018-12-21T07:49:23", "BME680":{ "Температура": 20,3, "Влажность":41,8, "Давление": 1021,1, "Газ": 286,65}
к этому:
{ "Время": "2018-12-21T07:49:23", "Температура": 20,3, "Влажность":41,8, "Давление": 1021,1, "Газ": 286,65}
Как я могу активировать это с помощью скрипта PHP?
1 ответ
Во-первых, давайте определим вспомогательную функцию, которая делает результат дружественным
function getFriendlyResult(k, input) {
var output = {};
for (var key in input) {
if (key !== k) output[key] = input[key];
}
for (var innerKey in input[k]) output[innerKey] = input[innerKey];
return output;
}
и вы можете назвать это как:
getFriendlyResult(“BME680”, {“Time”:“2018-12-21T07:49:23”,“BME680”:{“Temperature”:20.3,“Humidity”:41.8,“Pressure”:1021.1,“Gas”:286.65});
РЕДАКТИРОВАТЬ
Чтобы достичь этого в PHP, вы можете вызвать json_decode и передать свой JSON, например:
$resultArray = json_decode($input, true);
а затем реализовать тот же алгоритм в PHP, как я описал выше в Javascript.
РЕДАКТИРОВАТЬ
Это непроверенная реализация в PHP:
function getFriendlyResult($k, $input) {
$output = array();
foreach ($input as $key => $value) {
if ($key !== $k) $output[$key] = $value;
}
foreach ($input[$k] as $innerKey => $innerValue) {
$output[$innerKey] = $innerValue;
}
return $output;
}
$result = json_decode($yourJSON, true);