# JSON sources

**Location**: [Sources.Json module](https://vostok.gitbook.io/configuration/modules/sources-json).

[**JsonStringSource**](https://github.com/vostok/configuration.sources.json/blob/master/Vostok.Configuration.Sources.Json/JsonStringSource.cs) parses well-formed JSON documents from in-memory strings and supports manual external updates:

```
var source = new JsonStringSource("<json content>");

​source.Push("<json content>") // update with new content
```

​[**JsonFileSource**](https://github.com/vostok/configuration.sources.json/blob/master/Vostok.Configuration.Sources.Json/JsonFileSource.cs) parses JSON files and automatically watches for changes:

```
var source = new JsonFileSource("settings/config.json");
```

A file that does not exist simply leads to a `null` [node](https://vostok.gitbook.io/configuration/concepts-and-basics/settings-nodes), which implies default settings values unless something is [explicitly required](https://vostok.gitbook.io/configuration/basic-scenarios/make-settings-required).

## Related pages

{% content-ref url="../concepts-and-basics/configuration-sources" %}
[configuration-sources](https://vostok.gitbook.io/configuration/concepts-and-basics/configuration-sources)
{% endcontent-ref %}
