-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathsyntax.html
71 lines (70 loc) · 43.1 KB
/
syntax.html
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
<!DOCTYPE html><html><head><meta charset="utf-8"><title>Hjson, a user interface for JSON</title><meta name="description" content="Hjson, a user interface for JSON. Adds comments, makes it nicer to read and avoids comma mistakes."><meta name="viewport" content="width=device-width"><link rel="canonical" href="https://hjson.github.io"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.min.css" crossorigin="anonymous"><link rel="stylesheet" type="text/css" href="css/md.css"><link rel="stylesheet" type="text/css" href="css/pg5.css"><script type="text/javascript">0<window.location.href.indexOf("hjson.org")&&(window.location.href="https://hjson.github.io")</script><meta name="twitter:card" content="summary" f><meta name="twitter:site" content="@laktakk"><meta name="twitter:creator" content="@laktakk"><meta name="twitter:title" content="Hjson, a user interface for JSON"><meta name="twitter:description" content="Hjson, a user interface for JSON. Adds comments, makes it nicer to read and avoids comma mistakes."><meta name="twitter:image" content="https://hjson.github.io/icon/hjson-s.png"><link rel="icon" type="image/png" sizes="192x192" href="fav/icon-192x192.png"><link rel="icon" type="image/png" sizes="32x32" href="fav/icon-32x32.png"><link rel="icon" type="image/png" sizes="96x96" href="fav/icon-96x96.png"><link rel="apple-touch-icon" href="fav/icon-192x192.png"><meta name="msapplication-TileImage" content="fav/icon-192x192.png"></head><body><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.1/jquery.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/js/bootstrap.min.js" crossorigin="anonymous"></script><nav class="navbar navbar-inverse navbar-fixed-top" role="navigation"><div class="container"><div class="navbar-header"><button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse-1"><span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span></button> <a class="navbar-brand" href="."><img src="icon/hjson-st.png">Hjson</a></div><div class="collapse navbar-collapse" id="navbar-collapse-1"><ul class="nav navbar-nav"><li><a class="btn navbar-btn btn-success" href="users.html">Users</a></li><li><a class="btn navbar-btn btn-success" href="download.html">Developers</a></li><li><a href="syntax.html">Syntax</a></li><li><a class="btn navbar-btn btn-danger" href="try.html">Try</a></li><li><a href="faq.html">FAQ</a></li><li><a aria-label="Star hjson on GitHub" data-count-aria-label="# stargazers on GitHub" data-count-api="/repos/hjson/hjson#stargazers_count" data-count-href="/hjson/hjson/stargazers" data-style="mega" data-icon="octicon-star" href="https://github.com/hjson/hjson" class="github-button">Star</a></li></ul></div></div></nav><div id="main"><div class="content"><h2 id="-div-class-hicon-div-hjson-syntax"><div class="hicon"></div>Hjson Syntax</h2><p>TL;DR <a href="/">here</a></p><p></p><style type="text/css">#rr {
margin: 0 0 0 50px;
}
#rr h2 {
margin: 0 0 0 -50px;
font-size: 1.5em;
}
#rr h3 {
font-size: 1em;
}
svg.railroad-diagram {
}
svg.railroad-diagram path {
stroke-width: 3;
stroke: black;
fill: rgba(0,0,0,0);
}
svg.railroad-diagram text {
font: bold 14px monospace;
text-anchor: middle;
}
svg.railroad-diagram text.diagram-text {
font-size: 12px;
}
svg.railroad-diagram text.diagram-arrow {
font-size: 16px;
}
svg.railroad-diagram text.label {
text-anchor: start;
}
svg.railroad-diagram text.comment {
font: italic 12px monospace;
}
svg.railroad-diagram g.non-terminal text {
/*font-style: italic;*/
}
svg.railroad-diagram rect {
stroke-width: 3;
stroke: black;
fill: hsl(120,100%,90%);
}
svg.railroad-diagram path.diagram-text {
stroke-width: 3;
stroke: black;
fill: white;
cursor: help;
}
svg.railroad-diagram g.diagram-text:hover path.diagram-text {
fill: #eee;
}</style><div id="rr"><h2>Object</h2><svg class="railroad-diagram img-responsive" width="584.5" height="117" viewBox="0 0 584.5 117"><g transform="translate(.5 .5)"><g><path d="M20 38v20m10 -20v20m-10 -10h20"></path></g><path d="M40 48h10"></path><g class="terminal"><path d="M50 48h0"></path><path d="M78.5 48h0"></path><rect x="50" y="37" width="28.5" height="22" rx="10" ry="10"></rect><text x="64.25" y="52">{</text></g><path d="M78.5 48h10"></path><g><path d="M88.5 48h0"></path><path d="M496 48h0"></path><path d="M88.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path><g><path d="M108.5 20h367.5"></path></g><path d="M476 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path><path d="M88.5 48h20"></path><g><path d="M108.5 48h0"></path><path d="M476 48h0"></path><g class="non-terminal"><path d="M108.5 48h0"></path><path d="M179.5 48h0"></path><rect x="108.5" y="37" width="71" height="22"></rect><text x="144" y="52">member</text></g><path d="M179.5 48h10"></path><g><path d="M189.5 48h0"></path><path d="M407.5 48h0"></path><path d="M189.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path><g><path d="M209.5 28h178"></path></g><path d="M387.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path><path d="M189.5 48h20"></path><g><path d="M209.5 48h0"></path><path d="M387.5 48h0"></path><path d="M209.5 48h10"></path><g><path d="M219.5 48h0"></path><path d="M377.5 48h0"></path><g><path d="M219.5 48h0"></path><path d="M296.5 48h0"></path><path d="M219.5 48h20"></path><g class="terminal"><path d="M239.5 48h0"></path><path d="M276.5 48h0"></path><rect x="239.5" y="37" width="37" height="22" rx="10" ry="10"></rect><text x="258" y="52">LF</text></g><path d="M276.5 48h20"></path><path d="M219.5 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path><g class="terminal"><path d="M239.5 78h4.25"></path><path d="M272.25 78h4.25"></path><rect x="243.75" y="67" width="28.5" height="22" rx="10" ry="10"></rect><text x="258" y="82">,</text></g><path d="M276.5 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path></g><path d="M296.5 48h10"></path><g class="non-terminal"><path d="M306.5 48h0"></path><path d="M377.5 48h0"></path><rect x="306.5" y="37" width="71" height="22"></rect><text x="342" y="52">member</text></g></g><path d="M377.5 48h10"></path><path d="M219.5 48a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path><g><path d="M219.5 97h158"></path></g><path d="M377.5 97a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path></g><path d="M387.5 48h20"></path></g><g><path d="M407.5 48h0"></path><path d="M476 48h0"></path><path d="M407.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path><g><path d="M427.5 28h28.5"></path></g><path d="M456 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path><path d="M407.5 48h20"></path><g class="terminal"><path d="M427.5 48h0"></path><path d="M456 48h0"></path><rect x="427.5" y="37" width="28.5" height="22" rx="10" ry="10"></rect><text x="441.75" y="52">,</text></g><path d="M456 48h20"></path></g></g><path d="M476 48h20"></path></g><path d="M496 48h10"></path><g class="terminal"><path d="M506 48h0"></path><path d="M534.5 48h0"></path><rect x="506" y="37" width="28.5" height="22" rx="10" ry="10"></rect><text x="520.25" y="52">}</text></g><path d="M534.5 48h10"></path><path d="M 544.5 48 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg><h2>Member</h2><svg class="railroad-diagram img-responsive" width="675" height="101" viewBox="0 0 675 101"><g transform="translate(.5 .5)"><g><path d="M20 51v20m10 -20v20m-10 -10h20"></path></g><path d="M40 61h10"></path><g><path d="M50 61h0"></path><path d="M625 61h0"></path><g><path d="M50 61h0"></path><path d="M504 61h0"></path><path d="M50 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path><g class="non-terminal"><path d="M70 31h150.25"></path><path d="M333.75 31h150.25"></path><rect x="220.25" y="20" width="113.5" height="22"></rect><text x="277" y="35">JSON-string</text></g><path d="M484 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path><path d="M50 61h20"></path><g><path d="M70 61h0"></path><path d="M484 61h0"></path><path d="M70 61h10"></path><g class="non-terminal"><path d="M80 61h0"></path><path d="M474 61h0"></path><rect x="80" y="50" width="394" height="22"></rect><text x="277" y="65">any character except ,:[]{} and whitespace</text></g><path d="M474 61h10"></path><path d="M80 61a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path><g><path d="M80 81h394"></path></g><path d="M474 81a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path></g><path d="M484 61h20"></path></g><path d="M504 61h10"></path><g class="terminal"><path d="M514 61h0"></path><path d="M542.5 61h0"></path><rect x="514" y="50" width="28.5" height="22" rx="10" ry="10"></rect><text x="528.25" y="65">:</text></g><path d="M542.5 61h10"></path><path d="M552.5 61h10"></path><g class="non-terminal"><path d="M562.5 61h0"></path><path d="M625 61h0"></path><rect x="562.5" y="50" width="62.5" height="22"></rect><text x="593.75" y="65">value</text></g></g><path d="M625 61h10"></path><path d="M 635 61 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg><h2>Array</h2><svg class="railroad-diagram img-responsive" width="567.5" height="117" viewBox="0 0 567.5 117"><g transform="translate(.5 .5)"><g><path d="M20 38v20m10 -20v20m-10 -10h20"></path></g><path d="M40 48h10"></path><g class="terminal"><path d="M50 48h0"></path><path d="M78.5 48h0"></path><rect x="50" y="37" width="28.5" height="22" rx="10" ry="10"></rect><text x="64.25" y="52">[</text></g><path d="M78.5 48h10"></path><g><path d="M88.5 48h0"></path><path d="M479 48h0"></path><path d="M88.5 48a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10"></path><g><path d="M108.5 20h350.5"></path></g><path d="M459 20a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10"></path><path d="M88.5 48h20"></path><g><path d="M108.5 48h0"></path><path d="M459 48h0"></path><g class="non-terminal"><path d="M108.5 48h0"></path><path d="M171 48h0"></path><rect x="108.5" y="37" width="62.5" height="22"></rect><text x="139.75" y="52">value</text></g><path d="M171 48h10"></path><g><path d="M181 48h0"></path><path d="M390.5 48h0"></path><path d="M181 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path><g><path d="M201 28h169.5"></path></g><path d="M370.5 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path><path d="M181 48h20"></path><g><path d="M201 48h0"></path><path d="M370.5 48h0"></path><path d="M201 48h10"></path><g><path d="M211 48h0"></path><path d="M360.5 48h0"></path><g><path d="M211 48h0"></path><path d="M288 48h0"></path><path d="M211 48h20"></path><g class="terminal"><path d="M231 48h0"></path><path d="M268 48h0"></path><rect x="231" y="37" width="37" height="22" rx="10" ry="10"></rect><text x="249.5" y="52">LF</text></g><path d="M268 48h20"></path><path d="M211 48a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path><g class="terminal"><path d="M231 78h4.25"></path><path d="M263.75 78h4.25"></path><rect x="235.25" y="67" width="28.5" height="22" rx="10" ry="10"></rect><text x="249.5" y="82">,</text></g><path d="M268 78a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path></g><path d="M288 48h10"></path><g class="non-terminal"><path d="M298 48h0"></path><path d="M360.5 48h0"></path><rect x="298" y="37" width="62.5" height="22"></rect><text x="329.25" y="52">value</text></g></g><path d="M360.5 48h10"></path><path d="M211 48a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10"></path><g><path d="M211 97h149.5"></path></g><path d="M360.5 97a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10"></path></g><path d="M370.5 48h20"></path></g><g><path d="M390.5 48h0"></path><path d="M459 48h0"></path><path d="M390.5 48a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path><g><path d="M410.5 28h28.5"></path></g><path d="M439 28a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path><path d="M390.5 48h20"></path><g class="terminal"><path d="M410.5 48h0"></path><path d="M439 48h0"></path><rect x="410.5" y="37" width="28.5" height="22" rx="10" ry="10"></rect><text x="424.75" y="52">,</text></g><path d="M439 48h20"></path></g></g><path d="M459 48h20"></path></g><path d="M479 48h10"></path><g class="terminal"><path d="M489 48h0"></path><path d="M517.5 48h0"></path><rect x="489" y="37" width="28.5" height="22" rx="10" ry="10"></rect><text x="503.25" y="52">]</text></g><path d="M517.5 48h10"></path><path d="M 527.5 48 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg><h2>Value</h2><svg class="railroad-diagram img-responsive" width="191" height="242" viewBox="0 0 191 242"><g transform="translate(.5 .5)"><g><path d="M20 21v20m10 -20v20m-10 -10h20"></path></g><g><path d="M40 31h0"></path><path d="M151 31h0"></path><path d="M40 31h20"></path><g class="non-terminal"><path d="M60 31h0"></path><path d="M131 31h0"></path><rect x="60" y="20" width="71" height="22"></rect><text x="95.5" y="35">string</text></g><path d="M131 31h20"></path><path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path><g class="non-terminal"><path d="M60 61h0"></path><path d="M131 61h0"></path><rect x="60" y="50" width="71" height="22"></rect><text x="95.5" y="65">number</text></g><path d="M131 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path><path d="M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path><g class="non-terminal"><path d="M60 91h0"></path><path d="M131 91h0"></path><rect x="60" y="80" width="71" height="22"></rect><text x="95.5" y="95">object</text></g><path d="M131 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path><path d="M40 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path><g class="non-terminal"><path d="M60 121h4.25"></path><path d="M126.75 121h4.25"></path><rect x="64.25" y="110" width="62.5" height="22"></rect><text x="95.5" y="125">array</text></g><path d="M131 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path><path d="M40 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path><g class="terminal"><path d="M60 151h8.5"></path><path d="M122.5 151h8.5"></path><rect x="68.5" y="140" width="54" height="22" rx="10" ry="10"></rect><text x="95.5" y="155">true</text></g><path d="M131 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path><path d="M40 31a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path><g class="terminal"><path d="M60 181h4.25"></path><path d="M126.75 181h4.25"></path><rect x="64.25" y="170" width="62.5" height="22" rx="10" ry="10"></rect><text x="95.5" y="185">false</text></g><path d="M131 181a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path><path d="M40 31a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path><g class="terminal"><path d="M60 211h8.5"></path><path d="M122.5 211h8.5"></path><rect x="68.5" y="200" width="54" height="22" rx="10" ry="10"></rect><text x="95.5" y="215">null</text></g><path d="M131 211a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path></g><path d="M 151 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg><h2>String</h2><svg class="railroad-diagram img-responsive" width="276" height="122" viewBox="0 0 276 122"><g transform="translate(.5 .5)"><g><path d="M20 51v20m10 -20v20m-10 -10h20"></path></g><g><path d="M40 61h0"></path><path d="M236 61h0"></path><path d="M40 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path><g class="non-terminal"><path d="M60 31h21.25"></path><path d="M194.75 31h21.25"></path><rect x="81.25" y="20" width="113.5" height="22"></rect><text x="138" y="35">JSON-String</text></g><path d="M216 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path><path d="M40 61h20"></path><g class="non-terminal"><path d="M60 61h0"></path><path d="M216 61h0"></path><rect x="60" y="50" width="156" height="22"></rect><text x="138" y="65">Quoteless-String</text></g><path d="M216 61h20"></path><path d="M40 61a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path><g class="non-terminal"><path d="M60 91h0"></path><path d="M216 91h0"></path><rect x="60" y="80" width="156" height="22"></rect><text x="138" y="95">Multiline-String</text></g><path d="M216 91a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path></g><path d="M 236 61 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg><h3>JSON-String</h3><svg class="railroad-diagram img-responsive" width="702.5" height="400" viewBox="0 0 702.5 400"><g transform="translate(.5 .5)"><g><path d="M20 51v20m10 -20v20m-10 -10h20"></path></g><g><path d="M40 61h0"></path><path d="M108.5 61h0"></path><path d="M40 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path><g class="terminal"><path d="M60 31h0"></path><path d="M88.5 31h0"></path><rect x="60" y="20" width="28.5" height="22" rx="10" ry="10"></rect><text x="74.25" y="35">"</text></g><path d="M88.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path><path d="M40 61h20"></path><g class="terminal"><path d="M60 61h0"></path><path d="M88.5 61h0"></path><rect x="60" y="50" width="28.5" height="22" rx="10" ry="10"></rect><text x="74.25" y="65">'</text></g><path d="M88.5 61h20"></path></g><g><path d="M108.5 61h0"></path><path d="M594 61h0"></path><path d="M108.5 61a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path><g><path d="M128.5 41h445.5"></path></g><path d="M574 41a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path><path d="M108.5 61h20"></path><g><path d="M128.5 61h0"></path><path d="M574 61h0"></path><path d="M128.5 61h10"></path><g><path d="M138.5 61h0"></path><path d="M564 61h0"></path><path d="M138.5 61h20"></path><g class="non-terminal"><path d="M158.5 61h0"></path><path d="M544 61h0"></path><rect x="158.5" y="50" width="385.5" height="22"></rect><text x="351.25" y="65">any character except starting quote and \</text></g><path d="M544 61h20"></path><path d="M138.5 61a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path><g><path d="M158.5 151h34.25"></path><path d="M509.75 151h34.25"></path><g class="terminal"><path d="M192.75 151h0"></path><path d="M221.25 151h0"></path><rect x="192.75" y="140" width="28.5" height="22" rx="10" ry="10"></rect><text x="207" y="155">\</text></g><path d="M221.25 151h10"></path><g><path d="M231.25 151h0"></path><path d="M509.75 151h0"></path><path d="M231.25 151a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path><g><path d="M251.25 121h48"></path><path d="M441.75 121h48"></path><g class="terminal"><path d="M299.25 121h0"></path><path d="M327.75 121h0"></path><rect x="299.25" y="110" width="28.5" height="22" rx="10" ry="10"></rect><text x="313.5" y="125">'</text></g><path d="M327.75 121h10"></path><path d="M337.75 121h10"></path><g><path d="M347.75 121h0"></path><path d="M441.75 121h0"></path><text x="394.75" y="126" class="comment">single quote</text></g></g><path d="M489.75 121a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path><path d="M231.25 151a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path><g><path d="M251.25 91h41"></path><path d="M448.75 91h41"></path><g class="terminal"><path d="M292.25 91h0"></path><path d="M320.75 91h0"></path><rect x="292.25" y="80" width="28.5" height="22" rx="10" ry="10"></rect><text x="306.5" y="95">"</text></g><path d="M320.75 91h10"></path><path d="M330.75 91h10"></path><g><path d="M340.75 91h0"></path><path d="M448.75 91h0"></path><text x="394.75" y="96" class="comment">quotation mark</text></g></g><path d="M489.75 91a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path><path d="M231.25 151h20"></path><g><path d="M251.25 151h37.5"></path><path d="M452.25 151h37.5"></path><g class="terminal"><path d="M288.75 151h0"></path><path d="M317.25 151h0"></path><rect x="288.75" y="140" width="28.5" height="22" rx="10" ry="10"></rect><text x="303" y="155">\</text></g><path d="M317.25 151h10"></path><path d="M327.25 151h10"></path><g><path d="M337.25 151h0"></path><path d="M452.25 151h0"></path><text x="394.75" y="156" class="comment">reverse solidus</text></g></g><path d="M489.75 151h20"></path><path d="M231.25 151a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path><g><path d="M251.25 181h65.5"></path><path d="M424.25 181h65.5"></path><g class="terminal"><path d="M316.75 181h0"></path><path d="M345.25 181h0"></path><rect x="316.75" y="170" width="28.5" height="22" rx="10" ry="10"></rect><text x="331" y="185">/</text></g><path d="M345.25 181h10"></path><path d="M355.25 181h10"></path><g><path d="M365.25 181h0"></path><path d="M424.25 181h0"></path><text x="394.75" y="186" class="comment">solidus</text></g></g><path d="M489.75 181a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path><path d="M231.25 151a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"></path><g><path d="M251.25 211h58.5"></path><path d="M431.25 211h58.5"></path><g class="terminal"><path d="M309.75 211h0"></path><path d="M338.25 211h0"></path><rect x="309.75" y="200" width="28.5" height="22" rx="10" ry="10"></rect><text x="324" y="215">b</text></g><path d="M338.25 211h10"></path><path d="M348.25 211h10"></path><g><path d="M358.25 211h0"></path><path d="M431.25 211h0"></path><text x="394.75" y="216" class="comment">backspace</text></g></g><path d="M489.75 211a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path><path d="M231.25 151a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"></path><g><path d="M251.25 241h62"></path><path d="M427.75 241h62"></path><g class="terminal"><path d="M313.25 241h0"></path><path d="M341.75 241h0"></path><rect x="313.25" y="230" width="28.5" height="22" rx="10" ry="10"></rect><text x="327.5" y="245">f</text></g><path d="M341.75 241h10"></path><path d="M351.75 241h10"></path><g><path d="M361.75 241h0"></path><path d="M427.75 241h0"></path><text x="394.75" y="246" class="comment">formfeed</text></g></g><path d="M489.75 241a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path><path d="M231.25 151a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"></path><g><path d="M251.25 271h65.5"></path><path d="M424.25 271h65.5"></path><g class="terminal"><path d="M316.75 271h0"></path><path d="M345.25 271h0"></path><rect x="316.75" y="260" width="28.5" height="22" rx="10" ry="10"></rect><text x="331" y="275">n</text></g><path d="M345.25 271h10"></path><path d="M355.25 271h10"></path><g><path d="M365.25 271h0"></path><path d="M424.25 271h0"></path><text x="394.75" y="276" class="comment">newline</text></g></g><path d="M489.75 271a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"></path><path d="M231.25 151a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"></path><g><path d="M251.25 301h37.5"></path><path d="M452.25 301h37.5"></path><g class="terminal"><path d="M288.75 301h0"></path><path d="M317.25 301h0"></path><rect x="288.75" y="290" width="28.5" height="22" rx="10" ry="10"></rect><text x="303" y="305">r</text></g><path d="M317.25 301h10"></path><path d="M327.25 301h10"></path><g><path d="M337.25 301h0"></path><path d="M452.25 301h0"></path><text x="394.75" y="306" class="comment">carriage return</text></g></g><path d="M489.75 301a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"></path><path d="M231.25 151a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"></path><g><path d="M251.25 331h41"></path><path d="M448.75 331h41"></path><g class="terminal"><path d="M292.25 331h0"></path><path d="M320.75 331h0"></path><rect x="292.25" y="320" width="28.5" height="22" rx="10" ry="10"></rect><text x="306.5" y="335">t</text></g><path d="M320.75 331h10"></path><path d="M330.75 331h10"></path><g><path d="M340.75 331h0"></path><path d="M448.75 331h0"></path><text x="394.75" y="336" class="comment">horizontal tab</text></g></g><path d="M489.75 331a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"></path><path d="M231.25 151a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10"></path><g><path d="M251.25 361h0"></path><path d="M489.75 361h0"></path><g class="terminal"><path d="M251.25 361h0"></path><path d="M279.75 361h0"></path><rect x="251.25" y="350" width="28.5" height="22" rx="10" ry="10"></rect><text x="265.5" y="365">u</text></g><path d="M279.75 361h10"></path><path d="M289.75 361h10"></path><g class="non-terminal"><path d="M299.75 361h0"></path><path d="M489.75 361h0"></path><rect x="299.75" y="350" width="190" height="22"></rect><text x="394.75" y="365">4 hexadecimal digits</text></g></g><path d="M489.75 361a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10"></path></g></g><path d="M544 151a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"></path></g><path d="M564 61h10"></path><path d="M138.5 61a10 10 0 0 0 -10 10v299a10 10 0 0 0 10 10"></path><g><path d="M138.5 380h425.5"></path></g><path d="M564 380a10 10 0 0 0 10 -10v-299a10 10 0 0 0 -10 -10"></path></g><path d="M574 61h20"></path></g><g><path d="M594 61h0"></path><path d="M662.5 61h0"></path><path d="M594 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path><g class="terminal"><path d="M614 31h0"></path><path d="M642.5 31h0"></path><rect x="614" y="20" width="28.5" height="22" rx="10" ry="10"></rect><text x="628.25" y="35">"</text></g><path d="M642.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path><path d="M594 61h20"></path><g class="terminal"><path d="M614 61h0"></path><path d="M642.5 61h0"></path><rect x="614" y="50" width="28.5" height="22" rx="10" ry="10"></rect><text x="628.25" y="65">'</text></g><path d="M642.5 61h20"></path></g><path d="M 662.5 61 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg><h3>Quoteless-String</h3><svg class="railroad-diagram img-responsive" width="659" height="80" viewBox="0 0 659 80"><g transform="translate(.5 .5)"><g><path d="M20 30v20m10 -20v20m-10 -10h20"></path></g><path d="M40 40h10"></path><g class="non-terminal"><path d="M50 40h0"></path><path d="M316.5 40h0"></path><rect x="50" y="29" width="266.5" height="22"></rect><text x="183.25" y="44">any character except ,:[]{}</text></g><path d="M316.5 40h10"></path><g><path d="M326.5 40h0"></path><path d="M619 40h0"></path><path d="M326.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path><g><path d="M346.5 20h252.5"></path></g><path d="M599 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path><path d="M326.5 40h20"></path><g><path d="M346.5 40h0"></path><path d="M599 40h0"></path><path d="M346.5 40h10"></path><g class="non-terminal"><path d="M356.5 40h0"></path><path d="M589 40h0"></path><rect x="356.5" y="29" width="232.5" height="22"></rect><text x="472.75" y="44">any character except LF</text></g><path d="M589 40h10"></path><path d="M356.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path><g><path d="M356.5 60h232.5"></path></g><path d="M589 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path></g><path d="M599 40h20"></path></g><path d="M 619 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg><h3>Multiline-String</h3><svg class="railroad-diagram img-responsive" width="622.5" height="80" viewBox="0 0 622.5 80"><g transform="translate(.5 .5)"><g><path d="M20 30v20m10 -20v20m-10 -10h20"></path></g><path d="M40 40h10"></path><g class="terminal"><path d="M50 40h0"></path><path d="M95.5 40h0"></path><rect x="50" y="29" width="45.5" height="22" rx="10" ry="10"></rect><text x="72.75" y="44">'''</text></g><path d="M95.5 40h10"></path><g><path d="M105.5 40h0"></path><path d="M517 40h0"></path><path d="M105.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path><g><path d="M125.5 20h371.5"></path></g><path d="M497 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path><path d="M105.5 40h20"></path><g><path d="M125.5 40h0"></path><path d="M497 40h0"></path><path d="M125.5 40h10"></path><g class="non-terminal"><path d="M135.5 40h0"></path><path d="M487 40h0"></path><rect x="135.5" y="29" width="351.5" height="22"></rect><text x="311.25" y="44">any character except three ' in a row</text></g><path d="M487 40h10"></path><path d="M135.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path><g><path d="M135.5 60h351.5"></path></g><path d="M487 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path></g><path d="M497 40h20"></path></g><path d="M517 40h10"></path><g class="terminal"><path d="M527 40h0"></path><path d="M572.5 40h0"></path><rect x="527" y="29" width="45.5" height="22" rx="10" ry="10"></rect><text x="549.75" y="44">'''</text></g><path d="M572.5 40h10"></path><path d="M 582.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg><h2>Number</h2><svg class="railroad-diagram img-responsive" width="580.5" height="226" viewBox="0 0 580.5 226"><g transform="translate(.5 .5)"><g><path d="M20 21v20m10 -20v20m-10 -10h20"></path></g><path d="M40 31h10"></path><g><path d="M50 31h0"></path><path d="M50 31h10"></path><g><path d="M60 31h61.5"></path><path d="M459 31h61.5"></path><g><path d="M121.5 31h0"></path><path d="M190 31h0"></path><path d="M121.5 31h20"></path><g><path d="M141.5 31h28.5"></path></g><path d="M170 31h20"></path><path d="M121.5 31a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path><g class="terminal"><path d="M141.5 51h0"></path><path d="M170 51h0"></path><rect x="141.5" y="40" width="28.5" height="22" rx="10" ry="10"></rect><text x="155.75" y="55">-</text></g><path d="M170 51a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path></g><g><path d="M190 31h0"></path><path d="M459 31h0"></path><path d="M190 31h20"></path><g class="terminal"><path d="M210 31h100.25"></path><path d="M338.75 31h100.25"></path><rect x="310.25" y="20" width="28.5" height="22" rx="10" ry="10"></rect><text x="324.5" y="35">0</text></g><path d="M439 31h20"></path><path d="M190 31a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path><g><path d="M210 70h0"></path><path d="M439 70h0"></path><g class="non-terminal"><path d="M210 70h0"></path><path d="M306.5 70h0"></path><rect x="210" y="59" width="96.5" height="22"></rect><text x="258.25" y="74">digit 1-9</text></g><path d="M306.5 70h10"></path><g><path d="M316.5 70h0"></path><path d="M439 70h0"></path><path d="M316.5 70a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path><g><path d="M336.5 50h82.5"></path></g><path d="M419 50a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path><path d="M316.5 70h20"></path><g><path d="M336.5 70h0"></path><path d="M419 70h0"></path><path d="M336.5 70h10"></path><g class="non-terminal"><path d="M346.5 70h0"></path><path d="M409 70h0"></path><rect x="346.5" y="59" width="62.5" height="22"></rect><text x="377.75" y="74">digit</text></g><path d="M409 70h10"></path><path d="M346.5 70a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path><g><path d="M346.5 90h62.5"></path></g><path d="M409 90a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path></g><path d="M419 70h20"></path></g></g><path d="M439 70a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path></g></g><path d="M520.5 31a10 10 0 0 1 10 10v47a10 10 0 0 1 -10 10h-460.5a10 10 0 0 0 -10 10v8a10 10 0 0 0 10 10"></path><g><path d="M60 126h10"></path><path d="M510.5 126h10"></path><g><path d="M70 126h0"></path><path d="M241 126h0"></path><path d="M70 126a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path><g><path d="M90 106h131"></path></g><path d="M221 106a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path><path d="M70 126h20"></path><g><path d="M90 126h0"></path><path d="M221 126h0"></path><g class="terminal"><path d="M90 126h0"></path><path d="M118.5 126h0"></path><rect x="90" y="115" width="28.5" height="22" rx="10" ry="10"></rect><text x="104.25" y="130">.</text></g><path d="M118.5 126h10"></path><path d="M128.5 126h10"></path><g><path d="M138.5 126h0"></path><path d="M221 126h0"></path><path d="M138.5 126h10"></path><g class="non-terminal"><path d="M148.5 126h0"></path><path d="M211 126h0"></path><rect x="148.5" y="115" width="62.5" height="22"></rect><text x="179.75" y="130">digit</text></g><path d="M211 126h10"></path><path d="M148.5 126a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path><g><path d="M148.5 146h62.5"></path></g><path d="M211 146a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path></g></g><path d="M221 126h20"></path></g><g><path d="M241 126h0"></path><path d="M510.5 126h0"></path><path d="M241 126h20"></path><g><path d="M261 126h229.5"></path></g><path d="M490.5 126h20"></path><path d="M241 126a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"></path><g><path d="M261 165h0"></path><path d="M490.5 165h0"></path><g><path d="M261 165h0"></path><path d="M329.5 165h0"></path><path d="M261 165h20"></path><g class="terminal"><path d="M281 165h0"></path><path d="M309.5 165h0"></path><rect x="281" y="154" width="28.5" height="22" rx="10" ry="10"></rect><text x="295.25" y="169">e</text></g><path d="M309.5 165h20"></path><path d="M261 165a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path><g class="terminal"><path d="M281 195h0"></path><path d="M309.5 195h0"></path><rect x="281" y="184" width="28.5" height="22" rx="10" ry="10"></rect><text x="295.25" y="199">E</text></g><path d="M309.5 195a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path></g><g><path d="M329.5 165h0"></path><path d="M398 165h0"></path><path d="M329.5 165a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path><g class="terminal"><path d="M349.5 145h0"></path><path d="M378 145h0"></path><rect x="349.5" y="134" width="28.5" height="22" rx="10" ry="10"></rect><text x="363.75" y="149">+</text></g><path d="M378 145a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path><path d="M329.5 165h20"></path><g><path d="M349.5 165h28.5"></path></g><path d="M378 165h20"></path><path d="M329.5 165a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path><g class="terminal"><path d="M349.5 185h0"></path><path d="M378 185h0"></path><rect x="349.5" y="174" width="28.5" height="22" rx="10" ry="10"></rect><text x="363.75" y="189">-</text></g><path d="M378 185a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path></g><path d="M398 165h10"></path><g><path d="M408 165h0"></path><path d="M490.5 165h0"></path><path d="M408 165h10"></path><g class="non-terminal"><path d="M418 165h0"></path><path d="M480.5 165h0"></path><rect x="418" y="154" width="62.5" height="22"></rect><text x="449.25" y="169">digit</text></g><path d="M480.5 165h10"></path><path d="M418 165a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path><g><path d="M418 185h62.5"></path></g><path d="M480.5 185a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path></g></g><path d="M490.5 165a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"></path></g></g><path d="M520.5 126h10"></path><path d="M530.5 126h0"></path></g><path d="M530.5 126h10"></path><path d="M 540.5 126 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg><h2>Comments</h2><svg class="railroad-diagram img-responsive" width="532" height="176" viewBox="0 0 532 176"><g transform="translate(.5 .5)"><g><path d="M20 78v20m10 -20v20m-10 -10h20"></path></g><g><path d="M40 88h0"></path><path d="M492 88h0"></path><path d="M40 88a10 10 0 0 0 10 -10v-28a10 10 0 0 1 10 -10"></path><g><path d="M60 40h40.5"></path><path d="M431.5 40h40.5"></path><g class="terminal"><path d="M100.5 40h0"></path><path d="M129 40h0"></path><rect x="100.5" y="29" width="28.5" height="22" rx="10" ry="10"></rect><text x="114.75" y="44">#</text></g><path d="M129 40h10"></path><g><path d="M139 40h0"></path><path d="M431.5 40h0"></path><path d="M139 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path><g><path d="M159 20h252.5"></path></g><path d="M411.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path><path d="M139 40h20"></path><g><path d="M159 40h0"></path><path d="M411.5 40h0"></path><path d="M159 40h10"></path><g class="non-terminal"><path d="M169 40h0"></path><path d="M401.5 40h0"></path><rect x="169" y="29" width="232.5" height="22"></rect><text x="285.25" y="44">any character except LF</text></g><path d="M401.5 40h10"></path><path d="M169 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path><g><path d="M169 60h232.5"></path></g><path d="M401.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path></g><path d="M411.5 40h20"></path></g></g><path d="M472 40a10 10 0 0 1 10 10v28a10 10 0 0 0 10 10"></path><path d="M40 88h20"></path><g><path d="M60 88h36.25"></path><path d="M435.75 88h36.25"></path><g class="terminal"><path d="M96.25 88h0"></path><path d="M133.25 88h0"></path><rect x="96.25" y="77" width="37" height="22" rx="10" ry="10"></rect><text x="114.75" y="92">//</text></g><path d="M133.25 88h10"></path><g><path d="M143.25 88h0"></path><path d="M435.75 88h0"></path><path d="M143.25 88a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path><g><path d="M163.25 68h252.5"></path></g><path d="M415.75 68a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path><path d="M143.25 88h20"></path><g><path d="M163.25 88h0"></path><path d="M415.75 88h0"></path><path d="M163.25 88h10"></path><g class="non-terminal"><path d="M173.25 88h0"></path><path d="M405.75 88h0"></path><rect x="173.25" y="77" width="232.5" height="22"></rect><text x="289.5" y="92">any character except LF</text></g><path d="M405.75 88h10"></path><path d="M173.25 88a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path><g><path d="M173.25 108h232.5"></path></g><path d="M405.75 108a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path></g><path d="M415.75 88h20"></path></g></g><path d="M472 88h20"></path><path d="M40 88a10 10 0 0 1 10 10v28a10 10 0 0 0 10 10"></path><g><path d="M60 136h0"></path><path d="M472 136h0"></path><g class="terminal"><path d="M60 136h0"></path><path d="M97 136h0"></path><rect x="60" y="125" width="37" height="22" rx="10" ry="10"></rect><text x="78.5" y="140">/*</text></g><path d="M97 136h10"></path><g><path d="M107 136h0"></path><path d="M425 136h0"></path><path d="M107 136a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path><g><path d="M127 116h278"></path></g><path d="M405 116a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path><path d="M107 136h20"></path><g><path d="M127 136h0"></path><path d="M405 136h0"></path><path d="M127 136h10"></path><g class="non-terminal"><path d="M137 136h0"></path><path d="M395 136h0"></path><rect x="137" y="125" width="258" height="22"></rect><text x="266" y="140">anything but * followed by /</text></g><path d="M395 136h10"></path><path d="M137 136a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path><g><path d="M137 156h258"></path></g><path d="M395 156a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path></g><path d="M405 136h20"></path></g><path d="M425 136h10"></path><g class="terminal"><path d="M435 136h0"></path><path d="M472 136h0"></path><rect x="435" y="125" width="37" height="22" rx="10" ry="10"></rect><text x="453.5" y="140">*/</text></g></g><path d="M472 136a10 10 0 0 0 10 -10v-28a10 10 0 0 1 10 -10"></path></g><path d="M 492 88 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg></div><p>Character means any UNICODE character except the control characters.</p><p></p><h3 id="details">Details</h3><h4 id="commas">Commas</h4><p>You can separate your values/members either with a comma or a new line.</p><p>Unlike JSON, trailing commas are ignored and do not produce a syntax error.</p><p>For example:</p><pre><code>{
one: 1
two: 2,
more: [3,4,5]
trailing: 6,
}
</code></pre><p>You should omit optional commas to make your data more readable.</p><pre><code>{
one: 1
two: 2
}
</code></pre><h4 id="whitespace-comments">Whitespace & Comments</h4><p>Whitespace and comments can be inserted between any pair of tokens.</p><p>Whitespace is defined as in the JSON specification (space, linefeed, carriage return, or horizontal tab).</p><p>Hash <code>#</code> or C style <code>//</code> comments start a single line comment.</p><p>The style is just a matter of preference. <code>#</code> may be easier on the eyes but <code>//</code> is sometimes used in existing JSON configs.</p><p><code>/*</code> starts a multiline comment that ends with <code>*/</code>. You can use it to comment out part of the data.</p><h4 id="keys">Keys</h4><p>You only need to add quotes if the key name includes whitespace or any of the punctuators (<code>{}[],:</code>).</p><p>For example:</p><ul><li><code>foo</code></li><li><code>"test case"</code></li><li><code>"{option}"</code></li></ul><h4 id="quoteless-strings">Quoteless Strings</h4><p>A quoteless string cannot start with any of the punctuators (<code>{}[],:</code>) or quotation marks (<code>'"</code>) used in Hjson syntax. It is also not possible for a quoteless string to start with a start of comment sequence (<code>#</code>, <code>//</code>, <code>/*</code>).</p><p>Unlike a quoted string it automatically ends at the end of the current line. Do not add commas or comments as they would become part of the string. If you wish to add comments place them on the previous or next line.</p><p>Preceding and trailing whitespace is ignored. Escapes are only supported in quoted strings.</p><p>The Hjson parser will only parse data as a quoteless string if any other interpretation fails, and therefore it will still detect values (<em>number</em>, <code>true</code>, <code>false</code> or <code>null</code>) and parse them correctly. For example</p><ul><li><code>3</code> is the <em>number</em> <code>3</code></li><li><code>true</code> is the <em>boolean</em> <code>true</code></li><li><code>7 # minutes</code> is the <em>number</em> <code>7</code> followed by a comment</li><li><code>5#comment</code> is the <em>number</em> <code>5</code> followed by a comment</li></ul><p>Examples that cannot be interpreted as anything else than single quoteless strings:</p><ul><li><code>5 times</code> is the <em>string</em> <code>"5 times"</code></li><li><code>5 times, 6 times</code> is the <em>string</em> <code>"5 times, 6 times"</code></li><li><code>X # not a comment</code> is the <em>string</em> <code>"X # not a comment"</code></li><li><code>\s#([0-9a-fA-F]{3})</code> is the <em>string</em> <code>"\\s#([0-9a-fA-F]{3})"</code></li></ul><p>Special note regarding hex values in an object: Due to oversight different implementations might handle this in different ways, but anything that starts with <code>#</code> will be treated as a comment. In hjson-js this input will be parsed as an object only containing the key <code>one</code> with the value <code>two: #00FF00</code> (when the parser detects a comment it assumes that the value starts at the beginning of the next line):</p><pre><code>{
one: #FF00AA
two: #00FF00
}
</code></pre><h4 id="multiline-strings">Multiline Strings</h4><ul><li>Start with triple quotes <code>'''</code>, whitespace on the first line is ignored</li><li><code>'''</code> defines the head, on the following lines all whitespace up to this column is ignored</li><li>all other whitespace is assumed to be part of the string.</li><li>ends with triple quotes <code>'''</code>. The last newline is ignored to allow for better formatting.</li></ul><p>A multiline string is OS and file independent. The line feed is always <code>\n</code>.</p><p>For example</p><pre><code>haiku:
'''
My half empty glass,
I will fill your empty half.
Now you are half full.
'''
</code></pre><p>Is the <em>string</em> <code>"My half empty glass,\nI will fill your empty half.\nNow you are half full."</code></p><h4 id="strings">Strings</h4><p>Quoted strings can be written with 'single' or "double" quotes.</p><p>Note: single quotes are new (2017/7) and may not yet be supported on all platforms.</p><h4 id="root-braces">Root Braces</h4><p>Hjson allows you to omit <code>{}</code> for the root object so that a config file can contain nothing but keys and values, similar to YAML.</p><p>Note: This feature was previously marked as deprecated but is now officially supported again. If you need maximum portability with your Hjson files, then we recommend you keep the root braces in case a third party implementation doesn't support it.</p><h4 id="file-extension">File extension</h4><p><code>.hjson</code></p><h4 id="encoding">Encoding</h4><p><code>.hjson</code> files must be encoded in UTF-8 (without a BOM).</p><h4 id="header">Header</h4><p>Hjson does not have a header but if you want to indicate the file type you can use <code>#hjson</code> on the first line.</p><h4 id="rfc">RFC</h4><p><a href="rfc.html" target="_blank">View the RFC draft (pending updates/root braces/single quotes)</a></p></div><div class="ynav"><a href="users.html">Users</a> <a href="download.html">Developers</a> <a href="syntax.html">Syntax</a> <a href="try.html">Try</a> <a href="faq.html">FAQ</a> <a href="https://github.com/hjson/hjson/issues">Feedback</a> <a href="history.html">History</a></div></div></body><script>!function(a,e,t,n,c,o,g){a.GoogleAnalyticsObject=c,a.ga=a.ga||function(){(a.ga.q=a.ga.q||[]).push(arguments)},a.ga.l=1*new Date,o=e.createElement(t),g=e.getElementsByTagName(t)[0],o.async=1,o.src="//www.google-analytics.com/analytics.js",g.parentNode.insertBefore(o,g)}(window,document,"script",0,"ga"),ga("create","UA-49208230-1","auto"),ga("send","pageview"),$(document).on("click",".navbar-collapse.in",function(a){$(a.target).is("a")&&"dropdown-toggle"!=$(a.target).attr("class")&&$(this).collapse("hide")})</script><script async defer="defer" id="github-bjs" src="https://buttons.github.io/buttons.js"></script></html>