# JsonExpressionBuilder

> Class JsonExpressionBuilder builds yii\db\JsonExpression for PostgreSQL DBMS.

[API reference](/docs/api/index.md) › [yii](/docs/api/yii/index.md) › [db](/docs/api/yii/db/index.md) › [pgsql](/docs/api/yii/db/pgsql/index.md) › JsonExpressionBuilder

| class | `yii\db\pgsql\JsonExpressionBuilder` |
| --- | --- |
| Implements | [`yii\db\ExpressionBuilderInterface`](/docs/api/yii/db/expressionbuilderinterface/index.md) |
| Uses traits | [`yii\db\ExpressionBuilderTrait`](/docs/api/yii/db/expressionbuildertrait/index.md) |
| Since | 2.0.14 |
| Source | [`framework/db/pgsql/JsonExpressionBuilder.php`](https://github.com/yiisoft/yii2/blob/22.0/framework/db/pgsql/JsonExpressionBuilder.php#L25) |

Class JsonExpressionBuilder builds [`JsonExpression`](/docs/api/yii/db/jsonexpression/index.md) for PostgreSQL DBMS.

## Properties

| Property | Type | Description | Defined by |
| --- | --- | --- | --- |
| <span id="property-queryBuilder"></span>[`$queryBuilder`](/docs/api/yii/db/expressionbuildertrait/index.md#property-queryBuilder) protected | [`yii\db\QueryBuilder`](/docs/api/yii/db/querybuilder/index.md) | Default: `null`. | [`yii\db\ExpressionBuilderTrait`](/docs/api/yii/db/expressionbuildertrait/index.md) |

## Methods

| Method | Description | Defined by |
| --- | --- | --- |
| <span id="method-__construct"></span>[`__construct()`](/docs/api/yii/db/expressionbuildertrait/index.md#method-__construct) | ExpressionBuilderTrait constructor. | [`yii\db\ExpressionBuilderTrait`](/docs/api/yii/db/expressionbuildertrait/index.md) |
| [`build()`](#method-build) | Method builds the raw SQL from the $expression that will not be additionally escaped or quoted. | `JsonExpressionBuilder` |
| [`getTypecast()`](#method-getTypecast) protected |  | `JsonExpressionBuilder` |

## Method details

### build() <span id="method-build"></span>

```php
public function build(yii\db\JsonExpression|yii\db\ExpressionInterface $expression, array &$params = []): string
```

Method builds the raw SQL from the $expression that will not be additionally
escaped or quoted.

**Parameters**

| Parameter | Type | Description |
| --- | --- | --- |
| `$expression` | [`yii\db\JsonExpression`](/docs/api/yii/db/jsonexpression/index.md)`\|`[`yii\db\ExpressionInterface`](/docs/api/yii/db/expressioninterface/index.md) | The expression to be built |
| `$params` | `array` | The binding parameters. |

**Returns**

`string`: The raw SQL that will not be additionally escaped or quoted.

### getTypecast() <span id="method-getTypecast"></span>

```php
protected function getTypecast(yii\db\JsonExpression $expression): string
```

**Parameters**

| Parameter | Type | Description |
| --- | --- | --- |
| `$expression` | [`yii\db\JsonExpression`](/docs/api/yii/db/jsonexpression/index.md) |  |

**Returns**

`string`: The typecast expression based on `type`.