hocon is a setting or configuration file format used during software development for storing configuration related data.
hocon is abbreviated as Human-Optimized Configuration Object Notation
It is a new format that is a superset of JSON file type which means json file works as a hocon conf file type. Hocon
It is used to store configuration files like toml or ini .
This course series posts help you to get the basics of hocon
with examples for learning.
Hocon features
Readability: Hocon format is more readable than other configuraiton format such as TOML, YAML. Syntax is equal to JSON with extract strict validations.
Nested Structure: It supports parent and child relationships in a tree format with easy way. It provides nested structure to organize the configuration in hierarchical tree format
It is case sensitive
file extension is
.conf
Tabs are not allowed,
Some editors allow spaces
For example, The below three values are equal in the Hocon Configuration file
{ "key"=value } or
"key"=value, or
key=value or
Advantages of hocon
- Lightweight
- It is very easy and simple to represent the complex mapping
- Friendly readable and writable
- Simple to modify with any text editor
- Suitable for configuration settings
- Merging
- substitution
- Complex configuration can be declared.
Disadvantages of Hocon
- It is a new format introduced recently, and a learning curve exists.
- Not much popular other than XML and json
hocon file extension
hocon files created with the extension .conf
or .hocon
You can use any IDE or text editor to open and create this file.
All the popular IDE supports the hocon file extension and also provide plugins to validate the hocon file content.
MIME format type - application/hocon
There is no office MIME type for hocon document content as per IANA
, but it can be represented using application/hocon
When hocon data is transferred between client and server, Implementation vendors add MIME type settings specified in request and response across the internet.
Content-Type
and accept
headers in a request object are specified with this format
following is the mime type for this document
application/hocon
and request contains the below value for hocon data sending over the internet
Content-type : application/hocon:
Features
- Strict JSON syntax
- Comments
- Variable substitution
- Map and array values
- Includes other hocon configuration files
Hocon Syntax Reference
- parenthesis (
{}
) to Root element is ignored - You can use key and value with a separator (
:
or=
) - Double quotes to keys and values are not required and optional
- Objects or array attributes are separated by a new line
- Comments always start with # or \