# @putout/operator-json

> 🐊Putout operator adds ability to work with json

Latest version **3.10.0** (published 2026-09-19) · MIT license · 0 weekly downloads

## Install

```sh
npm install @putout/operator-json
pnpm add @putout/operator-json
yarn add @putout/operator-json
bun add @putout/operator-json
```

## Health

**Score 70/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; recently updated; high maintenance score; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 3.10.0 |
| Published | 2026-09-19 |
| First published | 2023-11-14 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=22 |
| Dependencies | 0 |
| Unpacked size | 8.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 795 |
| Author | coderaiser |
| Maintainers | coderaiser |
| Keywords | putout, putout-operator, operator, json |

## Links

- npm: https://www.npmjs.com/package/@putout/operator-json
- Repository: https://github.com/coderaiser/putout
- Homepage: https://github.com/coderaiser/putout/tree/master/packages/operator-json#readme
- Issues: https://github.com/coderaiser/putout/issues
- npm.io page: https://npm.io/package/@putout/operator-json

## Alternatives

- [@mapbox/jsonlint-lines-primitives](https://npm.io/package/@mapbox/jsonlint-lines-primitives.md) — 5.3M weekly downloads
- [reftools](https://npm.io/package/reftools.md) — 3.5M weekly downloads
- [@hey-api/openapi-ts](https://npm.io/package/@hey-api/openapi-ts.md) — 3.5M weekly downloads
- [@mapbox/geojson-rewind](https://npm.io/package/@mapbox/geojson-rewind.md) — 2.4M weekly downloads
- [turbo-stream](https://npm.io/package/turbo-stream.md) — 1.7M weekly downloads

## Recent versions

- 3.10.0 (latest) — 2026-09-19
- 3.9.0 — 2026-09-11
- 3.8.0 — 2026-09-07
- 3.7.0 — 2026-08-27
- 3.6.0 — 2026-08-21
- 3.5.0 — 2026-07-26
- 3.4.0 — 2026-06-12
- 3.3.1 — 2026-03-31
- 3.3.0 — 2026-03-31
- 3.2.0 — 2026-01-28
- 3.1.0 — 2026-01-05
- 3.0.0 — 2026-01-05
- 2.2.0 — 2024-04-12
- 2.1.0 — 2024-02-02
- 2.0.0 — 2024-01-16
- … 6 more at https://npm.io/package/@putout/operator-json/versions

## README

# @putout/operator-json [![NPM version][NPMIMGURL]][NPMURL]

[NPMIMGURL]: https://img.shields.io/npm/v/@putout/operator-json.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/operator-json "npm"

🐊[**Putout**](https://github.com/coderaiser/putout) operator adds ability to lint json.

## Install

```
npm i putout @putout/operator-json
```

## API

### `__json`

```js
import {operator} from 'putout';

const {__json} = operator;

export const traverse = ({push}) => ({
    [__json]: push,
});
```

### `__yaml`

```js
import {operator} from 'putout';

const {__yaml} = operator;

export const traverse = ({push}) => ({
    [__yaml]: push,
});
```

### `__toml`

```js
import {operator} from 'putout';

const {__toml} = operator;

export const traverse = ({push}) => ({
    [__toml]: push,
});
```

### `__docker`

```js
import {operator} from 'putout';

const {__docker} = operator;

export const traverse = ({push}) => ({
    [__docker]: push,
});
```

### `__ignore`

```js
import {operator} from 'putout';

const {__ignore} = operator;

export const traverse = ({push}) => ({
    [__ignore]: push,
});
```

### `__filesystem`

```js
import {operator} from 'putout';

const {__filesystem} = operator;

export const traverse = ({push}) => ({
    [__filesystem]: (path) => {
        push(path);
    },
});
```

### `__markdown`

```js
import {operator} from 'putout';

const {__markdown} = operator;

export const traverse = ({push}) => ({
    [__markdown]: push,
});
```

### `__css`

```js
import {operator} from 'putout';

const {__css} = operator;

export const traverse = ({push}) => ({
    [__css]: push,
});
```

### `__sql`

```js
import {operator} from 'putout';

const {__sql} = operator;

export const traverse = ({push}) => ({
    [__sql]: push,
});
```

### `isJSON(source: string)`

```js
isJSON(`__putout_processor_json({"hello": "world"});`);
// returns
true;

isJSON(`hello({"hello": "world"});`);
// returns
false;
```

### `isTOML(source: string)`

```js
isTOML(`__putout_processor_toml({"hello": "world"});`);
// returns
true;
```

### `isSQL(source: string)`

```js
isSQL(`__putout_processor_sql(select('hello'));`);
// returns
true;
```

### `isDocker(source: string)`

```js
isDocker(`__putout_processor_docker(['MAINTAINER', 'abc']);`);
// returns
true;
```

### `isJSONJGroup(source: string)`

```js
isJSONGroup(`__putout_processor_toml({"hello": "world"});`);
// returns
true;
```

### `toJS(source: string, name?: string)`;

```js
import {operator} from 'putout';

const {__filesystem, toJS} = operator;
toJS('{"hello": "world"}');
// returns
`__putout_processor_json('{"hello": "world"});`;

toJS('{"hello": "world"}', __filesystem);
// returns
`__putout_processor_filesystem('{"hello": "world"});`;
```

### `fromJS(source: string, name?: string)`;

```js
import {operator} from 'putout';

const {fromJS} = operator;
fromJS(`__putout_processor_json('{"hello": "world"}'`);
// returns
`{"hello": "world"}`;
```

## License

MIT

---
_Source: https://npm.io/package/@putout/operator-json · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
