You are here

protected function FeedsExJsonPathLines::executeSourceExpression in Feeds extensible parsers 7.2

Same name and namespace in other branches
  1. 7 src/FeedsExJsonPathLines.inc \FeedsExJsonPathLines::executeSourceExpression()

Executes a single source expression.

Parameters

string $machine_name: The source machine name being executed.

string $expression: The expression to execute.

mixed $row: The row to execute on.

Return value

scalar|[]scalar Either a scalar, or a list of scalars. If null, the value will be ignored.

Overrides FeedsExJsonPath::executeSourceExpression

File

src/FeedsExJsonPathLines.inc, line 63
Contains FeedsExJsonPathLines.

Class

FeedsExJsonPathLines
Parses the JSON Lines format via JSONPath.

Code

protected function executeSourceExpression($machine_name, $expression, $row) {

  // Row is a JSON string.
  if ($encoding = $this
    ->detectEncoding($row)) {
    $row = $this
      ->convertEncoding($row, $encoding);
  }
  $result = jsonPath(drupal_json_decode($row), $expression);
  if (is_scalar($result)) {
    return $result;
  }

  // Return a single value if there's only one value.
  return count($result) === 1 ? reset($result) : $result;
}