> For the complete documentation index, see [llms.txt](https://docs.starcounter.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.starcounter.io/2.3.2/guides/typed-json.md).

# Typed JSON

## Introduction

Typed JSON are C# classes that are serializeable to JSON. This makes it easy to work with JSON documents in an object-oriented manner.

&#x20;The view-models are Typed JSON in Starcounter web apps.

[JSON-by-example](/2.3.2/guides/typed-json/json-by-example.md) defines it, the [Code-Behind](/2.3.2/guides/typed-json/code-behind.md) extends it, and it's [bound](/2.3.2/guides/typed-json/data-bindings.md) to database data.

## Content

This section describes how to use Typed JSON.

* [JSON-by-example](/2.3.2/guides/typed-json/json-by-example.md) and [Code-Behind](/2.3.2/guides/typed-json/code-behind.md) describes how to define the Typed JSON and extend it to allow for interactivity.
* [JSON Data Bindings](/2.3.2/guides/typed-json/data-bindings.md) explains how to initially add database data to the Typed JSON objects and then bind Typed JSON objects to database classes.
* [Callback Methods](/2.3.2/guides/typed-json/callback-methods.md) describes the use of callback methods for certain actions on the Typed JSON objects.
* [Responding With JSON](/2.3.2/guides/typed-json/responding-with-json.md) and [Accepting JSON in Requests](https://app.gitbook.com/guides/typed-json/accepting-JSON-in-requests/README.md) describes how to send and receive Typed JSON objects using HTTP.
* [Primitive Arrays and Single Value Types](/2.3.2/guides/typed-json/primitive-arrays-and-single-value-types.md) and [Typed JSON Internals](/2.3.2/guides/typed-json/typed-json-internals.md) covers topics that, in most cases, are not practically applicable but can still be useful in some niche cases.
