From efd8d31e1f3d7a1afc81496d9ce64eec48c8f36a Mon Sep 17 00:00:00 2001 From: sparky4 Date: Thu, 19 Mar 2015 05:03:36 -0500 Subject: [PATCH] new file: src/lib/jsmn/example/JSONDUMP.EXE new file: src/lib/jsmn/example/SIMPLE.EXE new file: src/lib/jsmn/example/jsondump modified: src/lib/jsmn/example/jsondump.c new file: src/lib/jsmn/example/maptest.c modified: src/lib/jsmn/example/simple.c --- src/lib/jsmn/example/JSONDUMP.EXE | Bin 0 -> 11986 bytes src/lib/jsmn/example/SIMPLE.EXE | Bin 0 -> 10506 bytes src/lib/jsmn/example/jsondump | Bin 0 -> 10160 bytes src/lib/jsmn/example/jsondump.c | 2 +- src/lib/jsmn/example/maptest.c | 75 ++++++++++++++++++++++++++++++++++++++ src/lib/jsmn/example/simple.c | 2 +- 6 files changed, 77 insertions(+), 2 deletions(-) create mode 100644 src/lib/jsmn/example/JSONDUMP.EXE create mode 100644 src/lib/jsmn/example/SIMPLE.EXE create mode 100644 src/lib/jsmn/example/jsondump create mode 100644 src/lib/jsmn/example/maptest.c diff --git a/src/lib/jsmn/example/JSONDUMP.EXE b/src/lib/jsmn/example/JSONDUMP.EXE new file mode 100644 index 0000000000000000000000000000000000000000..fc4c97a4a430e5de0144c2ac6a9f182a5711ab57 GIT binary patch literal 11986 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

5|yB*DlV<=(m zM5~=-wF%n5CE`e6uWZp3hjHBUfE;d_UmaF`PVGEn@l^z`?rxvMp5R=)CB%UKSY)kzT&h~J@-)uZLRvn7OoOeUQB{$ zFXUE52*qjC9{dCv@~m-(J^Pvar> zoEMr_;H$+VfrhP6c-Z73&&Yr<&$ui;fatY{HZx8vVJVG;ET!>Y2YbilmzE2`^IXOk zv~4x=Q2Knwp#Ch#S5X=XL~8;E8>Koz18|~UYT=(~pbs9L+6U_IQJdB9w2!h=P|Ryn z8$jChU-nFYx@Y>Yd#2MAHmIIf-`6J-h&4rRRgX>kXxeeiKBG3V*+#3{qDH12pJt-( zq}prsHK-MRhzkn;RQ0njtrzCf%>R0B~{idKr? zU56?;E#5VVWRM8nq5(0a%cUUqQGT0ZM~WL}#SFMi#00~^R-8U_;)k^FDEyoE={5E^ zOZ(X)LVMvmgX6R!W}F-ZIU)a%>mog?7PiqsgzzztHKNr1%r9Dc?t2>Y9Rb1$V^uFf z#G@o&`ymKu{jQ9|1@sKd+=#nRLBub{McfWotfwv1PUaaMH;-~nMYOV+!XCUi_vF|a z)HZ`I<6BO(oWRP&_;p}W9@dKN&l^{-+W=OsgK+1lecCmc2*9Abg|TOs?-DB4q_A&9G`HLRYtq zfyIU4-b9;VFSD9T*TH6zg|6BC!a+O9I##w&UFKBR+Ot{$k5FW%lT`;gAEwKk z6PwKWiOj&Rq-VJIDAJyyx|65FXgM-jEPq51%0!UA3l8I$e}%f46l1%B4TIRKYg3S7 z+n3cG;Njw~6SKOMm)Ui*%*EyzAD9m(sbxGst2;&H0F5`UQ^JC}7U0@!QE?2WT+qu% z=n~&8a`IQG5EsUR=Mc+st=$ez*(QvjDcNi73bKg+#bYPBR-|Y^ZLtNg?o&nKHd+zQ z`asDMY|sg6%U;eF>_pLtg`ei)#OyM=-+f zRM4Lw*=2m$OCS@k&tZwWE{V3y!L}??nxB|?3eI3ppqDmewfQF?lAPGqaxSYakcZ-O zm+IKZ9FHHGxEy821Vp?G6~ltTfZvP%^NeL@N$v3MXeZ1}gQt zOk}c+|FG7k7>$hT`AMk7(ly{J*elX9UcbX+*1b_3eSyz3VF!i)vID;%0MN^9)*9x& z=3p|;rKhGmSsfK>OpSQ^kmU1TVPDsQ)!?RJ^z$89m_bK^97Zm4V|=0gHlES)W-az{mk#daSp#Zi`j$B?%k($ z@=6kI!tXDB%;O5OQr03lVw&3Xy~Y>Fzk|?a>Wmd4?DO=j#xkdx!d=N~D4R#SRGB$M ziC^oSinQ;yx*m!9P0DS|0m4`URBJW!ak`8=)M{rog@x2f=I&lnbdp~)D!QuCY0jD?V7vd5v&4{96JP&JZ=r&TTI z(yAO8-5D3O>E^t7#^E6{(IDb}f)^9kWG(Fg#r-*MP8IEB8xYCq2Zmn!(5m_hy zoVKky?(qft@!Ov_Y{qB7zFPyI7#~;mqMq<6^SfS!^NMO$wp|oTMRrcr(Nl$%PdJ=a zoLQ@zxnqN!6h0Pw7pA0|%v?9LH}&FWBYA3d81Qg1X=;YBDlFjeGubv|+h68Nv+-Lf zRswD{U~PoMB)PgRUgRB8-JEWJjze{xm2O$#_Rf0T*+cd`%hA+lImQ946+d^eoJCY@ zF8LjKT6b)P!KdH65xM`zhmfC+Q~brH<7T?YJzlbD+lG?jag*KSiZ*QBybXPi6>VV! z?{UiJ4S37U$jF%Na=XWEEG<#C`_Z%7TI^>_$~F}jZ?V=Y8#b4)Mqu-X;*xP|cMz#) z^OoWbZn?z0y{Ob*>|U6^ICrM|dmCJ2@uQEUOztlJ@ph|Pj^Yh)AyeGT@W70zll(4X z;ex&g7*5wafe@Sap!a%593}MmEZkiZbkfKq=(=DpLV z|6s;__h%J7x_(3PV;eVZe*8yUwr(rg{zR!?Rsv-|e)1=TjJxTqB;IWP-&@=_hI#V! zcb*`Uz3~xukTNB1VF>$P!eF{jp#49pN-r1y literal 0 HcmV?d00001 diff --git a/src/lib/jsmn/example/jsondump b/src/lib/jsmn/example/jsondump new file mode 100644 index 0000000000000000000000000000000000000000..bf6541f53b4a5b65daf2baaf0c963ccae1322480 GIT binary patch literal 10160 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 #include #include -#include "../jsmn.h" +#include "../jsmn.c" /* * An example of reading JSON from stdin and printing its content to stdout. diff --git a/src/lib/jsmn/example/maptest.c b/src/lib/jsmn/example/maptest.c new file mode 100644 index 00000000..ca2902b5 --- /dev/null +++ b/src/lib/jsmn/example/maptest.c @@ -0,0 +1,75 @@ +#include +#include +#include "../jsmn.c" + +/* + * A small example of jsmn parsing when JSON structure is known and number of + * tokens is predictable. + */ + +const char *JSON_STRING = + "{\"user\": \"johndoe\", \"admin\": false, \"uid\": 1000,\n " + "\"groups\": [\"users\", \"wheel\", \"audio\", \"video\"]}"; + +static int jsoneq(const char *json, jsmntok_t *tok, const char *s) { + if (tok->type == JSMN_STRING && (int) strlen(s) == tok->end - tok->start && + strncmp(json + tok->start, s, tok->end - tok->start) == 0) { + return 0; + } + return -1; +} + +int main() { + int i; + int r; + jsmn_parser p; + jsmntok_t t[128]; /* We expect no more than 128 tokens */ + + jsmn_init(&p); + r = jsmn_parse(&p, JSON_STRING, strlen(JSON_STRING), t, sizeof(t)/sizeof(t[0])); + if (r < 0) { + printf("Failed to parse JSON: %d\n", r); + return 1; + } + + /* Assume the top-level element is an object */ + if (r < 1 || t[0].type != JSMN_OBJECT) { + printf("Object expected\n"); + return 1; + } + + /* Loop over all keys of the root object */ + for (i = 1; i < r; i++) { + if (jsoneq(JSON_STRING, &t[i], "user") == 0) { + /* We may use strndup() to fetch string value */ + printf("- User: %.*s\n", t[i+1].end-t[i+1].start, + JSON_STRING + t[i+1].start); + i++; + } else if (jsoneq(JSON_STRING, &t[i], "admin") == 0) { + /* We may additionally check if the value is either "true" or "false" */ + printf("- Admin: %.*s\n", t[i+1].end-t[i+1].start, + JSON_STRING + t[i+1].start); + i++; + } else if (jsoneq(JSON_STRING, &t[i], "uid") == 0) { + /* We may want to do strtol() here to get numeric value */ + printf("- UID: %.*s\n", t[i+1].end-t[i+1].start, + JSON_STRING + t[i+1].start); + i++; + } else if (jsoneq(JSON_STRING, &t[i], "groups") == 0) { + int j; + printf("- Groups:\n"); + if (t[i+1].type != JSMN_ARRAY) { + continue; /* We expect groups to be an array of strings */ + } + for (j = 0; j < t[i+1].size; j++) { + jsmntok_t *g = &t[i+j+2]; + printf(" * %.*s\n", g->end - g->start, JSON_STRING + g->start); + } + i += t[i+1].size + 1; + } else { + printf("Unexpected key: %.*s\n", t[i].end-t[i].start, + JSON_STRING + t[i].start); + } + } + return 0; +} diff --git a/src/lib/jsmn/example/simple.c b/src/lib/jsmn/example/simple.c index a6f8e6a9..ca2902b5 100644 --- a/src/lib/jsmn/example/simple.c +++ b/src/lib/jsmn/example/simple.c @@ -1,6 +1,6 @@ #include #include -#include "../jsmn.h" +#include "../jsmn.c" /* * A small example of jsmn parsing when JSON structure is known and number of -- 2.11.0