Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

estahn/json-query-wrapper

Open more actions menu

Repository files navigation

JSON Query Wrapper

Latest Stable Version Total Downloads Dependency Status SensioLabsInsight Build Status StyleCI

json-query-wrapper is a wrapper for the popular command-line JSON processor "jq".

Features

  • Easy to use interface
  • PHP data type mapping

Installation

$ composer require estahn/json-query-wrapper

Usage

Basic usage

test.json:

{
  "Foo": {
    "Bar": "33"
  }
}

Example 1:

$jq = JsonQueryWrapper\JsonQueryFactory::createWith('test.json');
$jq->run('.Foo.Bar'); # string(33)

Example 2:

$jq = JsonQueryWrapper\JsonQueryFactory::createWith('test.json');
$jq->run('.Foo.Bar == "33"'); # Returns bool(true)

Example 3:

$jq = JsonQueryWrapper\JsonQueryFactory::createWith('{"Foo":{"Bar":"33"}}');
$jq->run('.Foo.Bar == "33"'); # Returns bool(true)

Advanced usage

Example 1:

$jq = JsonQueryWrapper\JsonQueryFactory::create();
$jq->setDataProvider(new JsonQueryWrapper\DataProvider\File('test.json');
$jq->run('.Foo.Bar == "33"'); # Returns bool(true)

Data Providers

A "Data Provider" provides the wrapper with the necessary data to read from. It's a common interface for several providers. All providers implement the DataProviderInterface which essentially returns a path to the file for jq.

Available providers:

  • Text - Regular PHP string containing JSON data
  • File - A path to a file containing JSON data

Badge Mania

Build Status Scrutinizer Code Quality Code Coverage Codacy Badge Codacy Badge

Alternatives

  • jmespath.php - Declaratively specify how to extract elements from a JSON document, in PHP
  • JSONPath - JSONPath implementation for PHP (based on Stefan Goessner's JSONPath script)

About

A wrapper for the popular command-line JSON processor "jq"

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.