1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
---
language: Hjson
filename: learnhjson.hjson
contributors:
- ["MrTeferi", "https://github.com/MrTeferi"]
lang: en
---
Hjson is an attempt to make [JSON](https://learnxinyminutes.com/docs/json/) more human readable.
Hjson is a syntax extension to JSON.
It's NOT a proposal to replace JSON or to incorporate it into the JSON spec itself.
It's intended to be used like a user interface for humans,
to read and edit before passing the JSON data to the machine.
Let's take a look at examples to see the key syntax differences!
```hjson
{
# Comments are totally supported!
// With forward slashes too!
/*
Even block style comments, neat!
/*
# Strings do not require quotes!
# Just keep it to a single line
human: readable
quotes: "are fine too"
# Notice that commas are also not required!
# If using commas, strings DO require quotes!
object: {
name: hjson
properties: [
readable
exciting
fun
]
with_commas: [
"quoted",
"quoty",
"quote"
]
details: ["this", "is", "fine", "too"]
}
# Multiline quotes with proper whitespace handling are supported!
diary:
'''
I wish JSON was more human readable.
If only there was a JSON for my needs!
Oh wait.. there is! It's called Hjson.
'''
# Backslashes are interpretted as an escape character ONLY in quoted strings
slash: This will not have a new line\n
slash-quoted: "This will definitely have a new line\n"
# Make sure to use quotes when mixing whitespace with important punctuation
example1: "If, you're, going, to, comma in a string, use, quotes!"
example2: "Also if you want to use {} or [] or any JSON relevant punctuation!"
example3: [because, this, is, totally, BROKEN!]
example4: this is technically OK though: {}[],:
# Enjoy working with Hjson!
party-time: {
hjson-lovers: [
me
my mom
"my dad"
]
Hjson-power-level: 9000
supported: {
python: yes
java: yes
javascript: yes
c++: yes
Go: yes
C#: yes
Rust: yes
}
partial-support: ["C", "Kotlin", "Ruby", "Rust"]
}
}
```
## Further Reading
* [HJSON.github.io](https://hjson.github.io/) Main HJSON site including editor support, how-to, etc.
* [HJSON Packages](https://github.com/hjson/) Various HJSON packages for different applications.
|