Merge pull request #501 from LuttyYang/master
[project/luci.git] / documentation / api / modules / luci.json.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html>
4 <head>
5     <title>Reference</title>
6     <link rel="stylesheet" href="../luadoc.css" type="text/css" />
7         <!--meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/-->
8 </head>
9
10 <body>
11 <div id="container">
12
13 <div id="product">
14         <div id="product_logo"></div>
15         <div id="product_name"><big><b></b></big></div>
16         <div id="product_description"></div>
17 </div> <!-- id="product" -->
18
19 <div id="main">
20
21 <div id="navigation">
22
23
24 <h1>LuaDoc</h1>
25 <ul>
26         
27         <li><a href="../index.html">Index</a></li>
28         
29 </ul>
30
31
32 <!-- Module list -->
33
34 <h1>Modules</h1>
35 <ul>
36
37         <li>
38                 <a href="../modules/luci.dispatcher.html">luci.dispatcher</a>
39         </li>
40
41         <li>
42                 <a href="../modules/luci.http.html">luci.http</a>
43         </li>
44
45         <li>
46                 <a href="../modules/luci.http.protocol.html">luci.http.protocol</a>
47         </li>
48
49         <li>
50                 <a href="../modules/luci.http.protocol.conditionals.html">luci.http.protocol.conditionals</a>
51         </li>
52
53         <li>
54                 <a href="../modules/luci.http.protocol.date.html">luci.http.protocol.date</a>
55         </li>
56
57         <li>
58                 <a href="../modules/luci.http.protocol.mime.html">luci.http.protocol.mime</a>
59         </li>
60
61         <li>
62                 <a href="../modules/luci.i18n.html">luci.i18n</a>
63         </li>
64
65         <li>
66                 <a href="../modules/luci.ip.html">luci.ip</a>
67         </li>
68
69         <li>
70                 <a href="../modules/luci.ip.cidr.html">luci.ip.cidr</a>
71         </li>
72
73         <li><strong>luci.json</strong></li>
74         
75         <li>
76                 <a href="../modules/luci.jsonc.html">luci.jsonc</a>
77         </li>
78
79         <li>
80                 <a href="../modules/luci.jsonc.parser.html">luci.jsonc.parser</a>
81         </li>
82
83         <li>
84                 <a href="../modules/luci.model.ipkg.html">luci.model.ipkg</a>
85         </li>
86
87         <li>
88                 <a href="../modules/luci.model.uci.html">luci.model.uci</a>
89         </li>
90
91         <li>
92                 <a href="../modules/luci.rpcc.html">luci.rpcc</a>
93         </li>
94
95         <li>
96                 <a href="../modules/luci.rpcc.ruci.html">luci.rpcc.ruci</a>
97         </li>
98
99         <li>
100                 <a href="../modules/luci.sys.html">luci.sys</a>
101         </li>
102
103         <li>
104                 <a href="../modules/luci.sys.init.html">luci.sys.init</a>
105         </li>
106
107         <li>
108                 <a href="../modules/luci.sys.iptparser.html">luci.sys.iptparser</a>
109         </li>
110
111         <li>
112                 <a href="../modules/luci.sys.net.html">luci.sys.net</a>
113         </li>
114
115         <li>
116                 <a href="../modules/luci.sys.process.html">luci.sys.process</a>
117         </li>
118
119         <li>
120                 <a href="../modules/luci.sys.user.html">luci.sys.user</a>
121         </li>
122
123         <li>
124                 <a href="../modules/luci.sys.wifi.html">luci.sys.wifi</a>
125         </li>
126
127         <li>
128                 <a href="../modules/luci.util.html">luci.util</a>
129         </li>
130
131         <li>
132                 <a href="../modules/nixio.html">nixio</a>
133         </li>
134
135         <li>
136                 <a href="../modules/nixio.CHANGELOG.html">nixio.CHANGELOG</a>
137         </li>
138
139         <li>
140                 <a href="../modules/nixio.CryptoHash.html">nixio.CryptoHash</a>
141         </li>
142
143         <li>
144                 <a href="../modules/nixio.File.html">nixio.File</a>
145         </li>
146
147         <li>
148                 <a href="../modules/nixio.README.html">nixio.README</a>
149         </li>
150
151         <li>
152                 <a href="../modules/nixio.Socket.html">nixio.Socket</a>
153         </li>
154
155         <li>
156                 <a href="../modules/nixio.TLSContext.html">nixio.TLSContext</a>
157         </li>
158
159         <li>
160                 <a href="../modules/nixio.TLSSocket.html">nixio.TLSSocket</a>
161         </li>
162
163         <li>
164                 <a href="../modules/nixio.UnifiedIO.html">nixio.UnifiedIO</a>
165         </li>
166
167         <li>
168                 <a href="../modules/nixio.bin.html">nixio.bin</a>
169         </li>
170
171         <li>
172                 <a href="../modules/nixio.bit.html">nixio.bit</a>
173         </li>
174
175         <li>
176                 <a href="../modules/nixio.crypto.html">nixio.crypto</a>
177         </li>
178
179         <li>
180                 <a href="../modules/nixio.fs.html">nixio.fs</a>
181         </li>
182
183 </ul>
184
185
186
187 <!-- File list -->
188
189
190
191
192
193
194
195 </div><!-- id="navigation" -->
196
197 <div id="content">
198
199 <h1>Object Instance <code>luci.json</code></h1>
200
201 <p></p>
202
203
204
205
206
207
208
209 <h2>Functions</h2>
210 <table class="function_list">
211
212         <tr>
213         <td class="name" nowrap><a href="#ActiveDecoder">ActiveDecoder</a>&nbsp;(customnull)</td>
214         <td class="summary">
215  
216 Create a new Active JSON-Decoder.</td>
217         </tr>
218
219         <tr>
220         <td class="name" nowrap><a href="#ActiveDecoder.get">ActiveDecoder:get</a>&nbsp;()</td>
221         <td class="summary">
222  
223 Fetches one JSON-object from given source 
224  </td>
225         </tr>
226
227         <tr>
228         <td class="name" nowrap><a href="#Decoder">Decoder</a>&nbsp;(customnull)</td>
229         <td class="summary">
230  
231 Create a new JSON-Decoder.</td>
232         </tr>
233
234         <tr>
235         <td class="name" nowrap><a href="#Decoder.get">Decoder:get</a>&nbsp;()</td>
236         <td class="summary">
237  
238 Get the decoded data packets after the rawdata has been sent to the sink.</td>
239         </tr>
240
241         <tr>
242         <td class="name" nowrap><a href="#Decoder.sink">Decoder:sink</a>&nbsp;()</td>
243         <td class="summary">
244  
245 Create an LTN12 sink from the decoder object which accepts the JSON-Data.</td>
246         </tr>
247
248         <tr>
249         <td class="name" nowrap><a href="#Encoder">Encoder</a>&nbsp;(data, buffersize, fastescape)</td>
250         <td class="summary">
251  
252 Create a new JSON-Encoder.</td>
253         </tr>
254
255         <tr>
256         <td class="name" nowrap><a href="#Encoder.source">Encoder:source</a>&nbsp;()</td>
257         <td class="summary">
258  
259 Create an LTN12 source providing the encoded JSON-Data.</td>
260         </tr>
261
262         <tr>
263         <td class="name" nowrap><a href="#decode">decode</a>&nbsp;(json)</td>
264         <td class="summary">
265  
266 Directly decode a JSON string 
267  </td>
268         </tr>
269
270         <tr>
271         <td class="name" nowrap><a href="#encode">encode</a>&nbsp;(obj)</td>
272         <td class="summary">
273  
274 Direcly encode a Lua object into a JSON string.</td>
275         </tr>
276
277         <tr>
278         <td class="name" nowrap><a href="#null">null</a>&nbsp;()</td>
279         <td class="summary">
280  
281 Null replacement function 
282  </td>
283         </tr>
284
285 </table>
286
287
288
289
290
291
292 <br/>
293 <br/>
294
295
296 <h2><a name="functions"></a>Functions</h2>
297 <dl class="function">
298
299
300
301 <dt><a name="ActiveDecoder"></a><strong>ActiveDecoder</strong>&nbsp;(customnull)</dt>
302 <dd>
303
304  
305 Create a new Active JSON-Decoder. 
306
307
308
309 <h3>Parameters</h3>
310 <ul>
311         
312         <li>
313           customnull: Use luci.json.null instead of nil for decoding null
314         </li>
315         
316 </ul>
317
318
319
320
321
322
323 <h3>Return value:</h3>
324 Active JSON-Decoder
325
326
327
328 </dd>
329
330
331
332
333 <dt><a name="ActiveDecoder.get"></a><strong>ActiveDecoder:get</strong>&nbsp;()</dt>
334 <dd>
335
336  
337 Fetches one JSON-object from given source 
338
339
340
341
342
343
344
345
346 <h3>Return value:</h3>
347 Decoded object
348
349
350
351 </dd>
352
353
354
355
356 <dt><a name="Decoder"></a><strong>Decoder</strong>&nbsp;(customnull)</dt>
357 <dd>
358
359  
360 Create a new JSON-Decoder. 
361
362
363
364 <h3>Parameters</h3>
365 <ul>
366         
367         <li>
368           customnull: Use luci.json.null instead of nil for decoding null
369         </li>
370         
371 </ul>
372
373
374
375
376
377
378 <h3>Return value:</h3>
379 JSON-Decoder
380
381
382
383 </dd>
384
385
386
387
388 <dt><a name="Decoder.get"></a><strong>Decoder:get</strong>&nbsp;()</dt>
389 <dd>
390
391  
392 Get the decoded data packets after the rawdata has been sent to the sink. 
393
394
395
396
397
398
399
400
401 <h3>Return value:</h3>
402 Decoded data
403
404
405
406 </dd>
407
408
409
410
411 <dt><a name="Decoder.sink"></a><strong>Decoder:sink</strong>&nbsp;()</dt>
412 <dd>
413
414  
415 Create an LTN12 sink from the decoder object which accepts the JSON-Data. 
416
417
418
419
420
421
422
423
424 <h3>Return value:</h3>
425 LTN12 sink
426
427
428
429 </dd>
430
431
432
433
434 <dt><a name="Encoder"></a><strong>Encoder</strong>&nbsp;(data, buffersize, fastescape)</dt>
435 <dd>
436
437  
438 Create a new JSON-Encoder. 
439
440
441
442 <h3>Parameters</h3>
443 <ul>
444         
445         <li>
446           data: Lua-Object to be encoded.
447         </li>
448         
449         <li>
450           buffersize: Blocksize of returned data source.
451         </li>
452         
453         <li>
454           fastescape: Use non-standard escaping (don't escape control chars)
455         </li>
456         
457 </ul>
458
459
460
461
462
463
464 <h3>Return value:</h3>
465 JSON-Encoder
466
467
468
469 </dd>
470
471
472
473
474 <dt><a name="Encoder.source"></a><strong>Encoder:source</strong>&nbsp;()</dt>
475 <dd>
476
477  
478 Create an LTN12 source providing the encoded JSON-Data. 
479
480
481
482
483
484
485
486
487 <h3>Return value:</h3>
488 LTN12 source
489
490
491
492 </dd>
493
494
495
496
497 <dt><a name="decode"></a><strong>decode</strong>&nbsp;(json)</dt>
498 <dd>
499
500  
501 Directly decode a JSON string 
502
503
504
505 <h3>Parameters</h3>
506 <ul>
507         
508         <li>
509           json: JSON-String
510         </li>
511         
512 </ul>
513
514
515
516
517
518
519 <h3>Return value:</h3>
520 Lua object
521
522
523
524 </dd>
525
526
527
528
529 <dt><a name="encode"></a><strong>encode</strong>&nbsp;(obj)</dt>
530 <dd>
531
532  
533 Direcly encode a Lua object into a JSON string. 
534
535
536
537 <h3>Parameters</h3>
538 <ul>
539         
540         <li>
541           obj: Lua Object
542         </li>
543         
544 </ul>
545
546
547
548
549
550
551 <h3>Return value:</h3>
552 JSON string
553
554
555
556 </dd>
557
558
559
560
561 <dt><a name="null"></a><strong>null</strong>&nbsp;()</dt>
562 <dd>
563
564  
565 Null replacement function 
566
567
568
569
570
571
572
573
574 <h3>Return value:</h3>
575 null
576
577
578
579 </dd>
580
581
582 </dl>
583
584
585
586
587
588 </div> <!-- id="content" -->
589
590 </div> <!-- id="main" -->
591
592 <div id="about">
593         <p><a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" /></a></p>
594 </div> <!-- id="about" -->
595
596 </div> <!-- id="container" -->
597 </body>
598 </html>