2 fontname="Inconsolata, Consolas"
7 node [fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5]
8 edge [fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5]
10 node [shape = doublecircle]; Start; Finish;
11 node [shape = box; style = "rounded, filled"; fillcolor=white ];
13 Start -> ArrayInitial [label=" ["];
14 Start -> ObjectInitial [label=" {"];
16 subgraph clusterArray {
22 ArrayInitial; Element; ElementDelimiter; ArrayFinish;
25 subgraph clusterObject {
31 ObjectInitial; MemberKey; KeyValueDelimiter; MemberValue; MemberDelimiter; ObjectFinish;
34 ArrayInitial -> ArrayInitial [label="["];
35 ArrayInitial -> ArrayFinish [label=" ]"];
36 ArrayInitial -> ObjectInitial [label="{", constraint=false];
37 ArrayInitial -> Element [label="string\nfalse\ntrue\nnull\nnumber"];
39 Element -> ArrayFinish [label="]"];
40 Element -> ElementDelimiter [label=","];
42 ElementDelimiter -> ArrayInitial [label=" ["];
43 ElementDelimiter -> ObjectInitial [label="{"];
44 ElementDelimiter -> Element [label="string\nfalse\ntrue\nnull\nnumber"];
46 ObjectInitial -> ObjectFinish [label=" }"];
47 ObjectInitial -> MemberKey [label=" string "];
49 MemberKey -> KeyValueDelimiter [label=":"];
51 KeyValueDelimiter -> ArrayInitial [label="["];
52 KeyValueDelimiter -> ObjectInitial [label=" {"];
53 KeyValueDelimiter -> MemberValue [label=" string\n false\n true\n null\n number"];
55 MemberValue -> ObjectFinish [label="}"];
56 MemberValue -> MemberDelimiter [label=","];
58 MemberDelimiter -> MemberKey [label=" string "];
60 ArrayFinish -> Finish;
61 ObjectFinish -> Finish;