---
title: json
slug: reference/json
docTags: 
createdAt: 2025-09-24T15:39:18.424Z
---

## Module - "json"

### Functions

- `decode(b string/bytes) => object`: Parses the JSON string and returns an object.
- `encode(o object) => bytes`: Returns the JSON string (bytes) of the object. Unlike Go's JSON package, this function does not HTML-escape texts, but, one can use html\_escape function if needed.
- `indent(b string/bytes, prefix string, indent string) => bytes`: Returns an indented form of input JSON bytes string. All three arguments are required: `prefix` is prepended to every line, `indent` is the string used for one level of indentation.
- `html_escape(b string/bytes) => bytes`: Return an HTML-safe form of input JSON bytes string.

### Examples

:::CodeblockTabs
Tengo

```go
encoded := json.encode({a: 1, b: [2, 3, 4]})  // JSON-encoded bytes string
indented := json.indent(encoded, "", "  ")    // indented form
html_safe := json.html_escape(encoded)        // HTML escaped form

decoded := json.decode(encoded)               // {a: 1, b: [2, 3, 4]}
```
:::
