# Pretty JSON Middleware

Pretty JSON middleware enables "_JSON pretty print_" for JSON response body.
Adding `?pretty` to url query param, the JSON strings are prettified.

```js
// GET /
{"project":{"name":"Hono","repository":"https://github.com/honojs/hono"}}
```

will be:

```js
// GET /?pretty
{
  "project": {
    "name": "Hono",
    "repository": "https://github.com/honojs/hono"
  }
}
```

## Import

```ts
import { Hono } from 'hono'
import { prettyJSON } from 'hono/pretty-json'
```

## Usage

```ts
const app = new Hono()

app.use(prettyJSON()) // With options: prettyJSON({ space: 4 })
app.get('/', (c) => {
  return c.json({ message: 'Hono!' })
})
```

## Options

### <Badge type="info" text="optional" /> space: `number`

Number of spaces for indentation. The default is `2`.

### <Badge type="info" text="optional" /> query: `string`

The name of the query string for applying. The default is `pretty`.

### <Badge type="info" text="optional" /> force: `boolean`

When set to `true`, JSON responses are always prettified regardless of the query parameter. The default is `false`.