Dreamfactory PHP скрипт Post.post_process полезной нагрузки изменить - PullRequest
0 голосов
/ 21 декабря 2018

Привет! Я использую 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 Ответ

0 голосов
/ 21 декабря 2018

Во-первых, давайте определим вспомогательную функцию, которая сделает результат понятным

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.

EDIT

Это непроверенная реализация в 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);
...