Diff for /libelwix/example/test_json.c between versions 1.4.38.1 and 1.6

version 1.4.38.1, 2024/12/04 17:46:50 version 1.6, 2025/08/25 13:00:37
Line 10 Line 10
 int  int
 run_simple(json_t *json)  run_simple(json_t *json)
 {  {
        static const char *teststr = "{\"user\": \"johndoe\", { \"meow\", \"\", \"\aaa\"}, \"admin\": false, \"uid\": 1000, \"objects\" : { \"a\":\"1\", \"b\" : \"2\" ,\"c\" : \"3\", , \"oho\"},\n"        static const char *teststr = "[ \"test123\", {\"user\": \"johndoe\", { \"meow\", \"\", \"\aaa\"}, \"admin\": false, \"uid\": 1000, \"objects\" : { \"a\":\"1\", \"b\" : \"2\" ,\"c\" : \"3\", , \"oho\"},\n"
                "\"groups\": [\"users\", \"\", \"wheel\", \"audio\", \"video\"], \"testend\":{\"x\" : \"8\", \"y\":\"7\", \"z\" : \"9\"}}";                "\"groups\": [\"users\", \"\", \"wheel\", \"audio\", \"video\"], \"testend\":{\"x\" : \"8\", \"y\":\"7\", \"z\" : \"9\"}} ]";
 //      static const char *teststr = "{}\n[]\n\"sdfsdf\"";  //      static const char *teststr = "{}\n[]\n\"sdfsdf\"";
         int i, ret;          int i, ret;
        jtok_t *tok, toks[36];        jtok_t *tok, toks[38];
         ait_val_t *v;          ait_val_t *v;
         char *str;          char *str;
         array_t *arr;          array_t *arr;
Line 67  run_simple(json_t *json) Line 67  run_simple(json_t *json)
         if (tok) {          if (tok) {
                 printf("Key=\"uid\" data parent=%ld idx=%ld size=%ld type=%d %ld\n", tok->tok_parent, tok->tok_idx, tok->tok_size, tok->tok_type,                   printf("Key=\"uid\" data parent=%ld idx=%ld size=%ld type=%d %ld\n", tok->tok_parent, tok->tok_idx, tok->tok_size, tok->tok_type, 
                                 json_token2num(teststr, tok));                                  json_token2num(teststr, tok));
                arr = json_token2array(teststr, tok);                arr = json_token2vars(teststr, tok);
                 for (i = 0; i < array_Size(arr); i++)                  for (i = 0; i < array_Size(arr); i++)
                        printf("arr[%d]=%s\n", i, AIT_GET_STR(array(arr, i, ait_val_t*)));                        printf("avars[%d]=%s\n", i, AIT_GET_STR(array(arr, i, ait_val_t*)));
                 ait_freeVars(&arr);                  ait_freeVars(&arr);
   
                   arr = json_token2array(teststr, tok);
                   for (i = 0; i < array_Size(arr); i++)
                           printf("arr[%d]=%s\n", i, array(arr, i, char*));
                   json_freearray(&arr);
         }          }
   
         tok = json_findbykey(teststr, "groups", J_UNDEF, toks, ret);          tok = json_findbykey(teststr, "groups", J_UNDEF, toks, ret);
         if (tok) {          if (tok) {
                 str = json_token2str(teststr, tok);                  str = json_token2str(teststr, tok);
                arr = json_token2array(teststr, tok);                arr = json_token2vars(teststr, tok);
                 printf("Key=\"groups\" data parent=%ld idx=%ld size=%ld type=%d %s\n", tok->tok_parent, tok->tok_idx, tok->tok_size, tok->tok_type, str);                  printf("Key=\"groups\" data parent=%ld idx=%ld size=%ld type=%d %s\n", tok->tok_parent, tok->tok_idx, tok->tok_size, tok->tok_type, str);
                 e_free(str);                  e_free(str);
                 for (i = 0; i < array_Size(arr); i++)                  for (i = 0; i < array_Size(arr); i++)
                        printf("arr[%d]=%s\n", i, AIT_GET_STR(array(arr, i, ait_val_t*)));                        printf("avars[%d]=%s\n", i, AIT_GET_STR(array(arr, i, ait_val_t*)));
                 ait_freeVars(&arr);                  ait_freeVars(&arr);
   
                   arr = json_token2array(teststr, tok);
                   for (i = 0; i < array_Size(arr); i++)
                           printf("arr[%d]=%s\n", i, array(arr, i, char*));
                   json_freearray(&arr);
         }          }
   
         tok = json_findbykey(teststr, "objects", J_UNDEF, toks, ret);          tok = json_findbykey(teststr, "objects", J_UNDEF, toks, ret);
         if (tok) {          if (tok) {
                 str = json_token2str(teststr, tok);                  str = json_token2str(teststr, tok);
                arr = json_token2array(teststr, tok);                arr = json_token2vars(teststr, tok);
                 printf("Key=\"objects\" data parent=%ld idx=%ld size=%ld type=%d %s\n", tok->tok_parent, tok->tok_idx, tok->tok_size, tok->tok_type, str);                  printf("Key=\"objects\" data parent=%ld idx=%ld size=%ld type=%d %s\n", tok->tok_parent, tok->tok_idx, tok->tok_size, tok->tok_type, str);
                 e_free(str);                  e_free(str);
                 for (i = 0; i < array_Size(arr); i++)                  for (i = 0; i < array_Size(arr); i++)
                        printf("arr[%d]=%s\n", i, AIT_GET_STR(array(arr, i, ait_val_t*)));                        printf("avars[%d]=%s\n", i, AIT_GET_STR(array(arr, i, ait_val_t*)));
                 ait_freeVars(&arr);                  ait_freeVars(&arr);
   
                   arr = json_token2array(teststr, tok);
                   for (i = 0; i < array_Size(arr); i++)
                           printf("arr[%d]=%s\n", i, array(arr, i, char*));
                   json_freearray(&arr);
         }          }
   
         tok = json_findbykey(teststr, "testend", J_UNDEF, toks, ret);          tok = json_findbykey(teststr, "testend", J_UNDEF, toks, ret);
         if (tok) {          if (tok) {
                 str = json_token2str(teststr, tok);                  str = json_token2str(teststr, tok);
                arr = json_token2array(teststr, tok);                arr = json_token2vars(teststr, tok);
                 printf("Key=\"testend\" data parent=%ld idx=%ld size=%ld type=%d %s\n", tok->tok_parent, tok->tok_idx, tok->tok_size, tok->tok_type, str);                  printf("Key=\"testend\" data parent=%ld idx=%ld size=%ld type=%d %s\n", tok->tok_parent, tok->tok_idx, tok->tok_size, tok->tok_type, str);
                 e_free(str);                  e_free(str);
                 for (i = 0; i < array_Size(arr); i++)                  for (i = 0; i < array_Size(arr); i++)
                        printf("arr[%d]=%s\n", i, AIT_GET_STR(array(arr, i, ait_val_t*)));                        printf("avars[%d]=%s\n", i, AIT_GET_STR(array(arr, i, ait_val_t*)));
                 ait_freeVars(&arr);                  ait_freeVars(&arr);
   
                   arr = json_token2array(teststr, tok);
                   for (i = 0; i < array_Size(arr); i++)
                           printf("arr[%d]=%s\n", i, array(arr, i, char*));
                   json_freearray(&arr);
         }          }
   
         return 0;          return 0;

Removed from v.1.4.38.1  
changed lines
  Added in v.1.6


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>