1 set jshn for convenience:
3 $ [ -n "$JSHN" ] && export PATH="$(dirname "$JSHN"):$PATH"
4 $ alias jshn="valgrind --quiet --leak-check=full jshn"
9 Usage: jshn [-n] [-i] -r <message>|-R <file>|-o <file>|-p <prefix>|-w
15 Failed to parse message data
20 $ jshn -r '{"foo": "bar", "baz": {"next": "meep"}}'
22 json_add_string 'foo' 'bar';
23 json_add_object 'baz';
24 json_add_string 'next' 'meep';
29 $ echo '[]' > test.json; jshn -R test.json
30 Failed to parse message data
34 Error opening nada.json
37 $ echo '{"foo": "bar", "baz": {"next": "meep"}}' > test.json; jshn -R test.json
39 json_add_string 'foo' 'bar';
40 json_add_object 'baz';
41 json_add_string 'next' 'meep';
44 test json formatting without prepared environment:
54 $ jshn -i -n -p procd -w
59 $ jshn -p procd -o test.json; cat test.json
62 $ jshn -i -p procd -o test.json; cat test.json
67 $ jshn -i -n -p procd -o test.json; cat test.json
72 $ chmod oug= test.json
73 $ jshn -i -n -p procd -o test.json
74 Error opening test.json
78 test json formatting with prepared environment:
80 $ export procdJSON_CUR=J_V
81 $ export procdJ_A3_1=/sbin/urngd
82 $ export procdJ_T1_instance1=J_T2
83 $ export procdJ_T2_command=J_A3
84 $ export procdJ_V_data=J_T5
85 $ export procdJ_V_instances=J_T1
86 $ export procdJ_V_name=urngd
87 $ export procdJ_V_script=/etc/init.d/urngd
88 $ export procdJ_V_triggers=J_A4
89 $ export procdK_J_A3=1
91 $ export procdK_J_T1=instance1
92 $ export procdK_J_T2=command
94 $ export procdK_J_V="name script instances triggers data"
95 $ export procdT_J_A3_1=string
96 $ export procdT_J_T1_instance1=object
97 $ export procdT_J_T2_command=array
98 $ export procdT_J_V_data=object
99 $ export procdT_J_V_instances=object
100 $ export procdT_J_V_name=string
101 $ export procdT_J_V_script=string
102 $ export procdT_J_V_triggers=array
105 { "name": "urngd", "script": "\/etc\/init.d\/urngd", "instances": { "instance1": { "command": [ "\/sbin\/urngd" ] } }, "triggers": [ ], "data": { } }
107 $ jshn -i -p procd -w
109 \t"name": "urngd", (esc)
110 \t"script": "/etc/init.d/urngd", (esc)
111 \t"instances": { (esc)
112 \t\t"instance1": { (esc)
113 \t\t\t"command": [ (esc)
114 \t\t\t\t"/sbin/urngd" (esc)
118 \t"triggers": [ (esc)
126 $ jshn -n -i -p procd -w
128 \t"name": "urngd", (esc)
129 \t"script": "/etc/init.d/urngd", (esc)
130 \t"instances": { (esc)
131 \t\t"instance1": { (esc)
132 \t\t\t"command": [ (esc)
133 \t\t\t\t"/sbin/urngd" (esc)
137 \t"triggers": [ (esc)
145 $ jshn -p procd -o test.json; cat test.json
146 { "name": "urngd", "script": "\/etc\/init.d\/urngd", "instances": { "instance1": { "command": [ "\/sbin\/urngd" ] } }, "triggers": [ ], "data": { } }
148 $ jshn -i -p procd -o test.json; cat test.json
150 \t"name": "urngd", (esc)
151 \t"script": "/etc/init.d/urngd", (esc)
152 \t"instances": { (esc)
153 \t\t"instance1": { (esc)
154 \t\t\t"command": [ (esc)
155 \t\t\t\t"/sbin/urngd" (esc)
159 \t"triggers": [ (esc)
167 $ jshn -n -i -p procd -o test.json; cat test.json
169 \t"name": "urngd", (esc)
170 \t"script": "/etc/init.d/urngd", (esc)
171 \t"instances": { (esc)
172 \t\t"instance1": { (esc)
173 \t\t\t"command": [ (esc)
174 \t\t\t\t"/sbin/urngd" (esc)
178 \t"triggers": [ (esc)
186 $ chmod oug= test.json
187 $ jshn -n -i -p procd -o test.json
188 Error opening test.json