# Access with default value: value ## Overview In many situations such as configuration files, missing values are not exceptional, but may be treated as if a default value was present. ??? example Consider the following JSON value: ```json { "logOutput": "result.log", "append": true } ``` Assume the value is parsed to a `json` variable `j`. | expression | value | | ---------- | ----- | | `#!cpp j` | `#!json {"logOutput": "result.log", "append": true}` | | `#!cpp j.value("logOutput", "logfile.log")` | `#!json "result.log"` | | `#!cpp j.value("append", true)` | `#!json true` | | `#!cpp j.value("append", false)` | `#!json true` | | `#!cpp j.value("logLevel", "verbose")` | `#!json "verbose"` | ## Note !!! failure "Exceptions" - `value` can only be used with objects. For other types, a [`basic_json::type_error`](../../home/exceptions.md#jsonexceptiontype_error306) is thrown.