]> git.evergreen-ils.org Git - OpenSRF.git/blob - src/objson/objson_test.c
adding
[OpenSRF.git] / src / objson / objson_test.c
1 #include <stdio.h>
2 #include "utils.h"
3 #include <fcntl.h>
4 #include "object.h"
5 #include "json_parser.h"
6
7 #include <wchar.h>
8 #include <locale.h>
9
10
11 /* ---------------------------------------------------------------------- */
12 /* See object.h for function info */
13 /* ---------------------------------------------------------------------- */
14 int main() {
15
16         char* jsons = "/*--S mvr--*/[null,null,null,\"Griswold del Castillo, Richard\",[],null,\"1405676\",null,null,\"1558853243 (alk. paper) :\",\"c2002\",\"Pin\\u0303ata Books\",null,[],[[\"Chavez, Cesar 1927-\",\"Juvenile literature\"],[\"Labor leaders\",\"United States\",\"Biography\",\"Juvenile literature\"],[\"Mexican Americans\",\"Biography\",\"Juvenile literature\"],[\"Agricultural laborers\",\"Labor unions\",\"United States\",\"History\",\"Juvenile literature\"],[\"United Farm Workers\",\"History\",\"Juvenile literature\"],[\"Chavez, Cesar 1927-\"],[\"Labor leaders\"],[\"Mexican Americans\",\"Biography\"],[\"United Farm Workers.\"],[\"Spanish language materials\",\"Bilingual\"],[\"Chavez, Cesar 1927-\",\"Literatura juvenil\"],[\"Li\\u0301deres obreros\",\"Estados Unidos\",\"Biografi\\u0301a\",\"Literatura juvenil\"],[\"Mexicano-americanos\",\"Biografi\\u0301a\",\"Literatura juvenil\"],[\"Sindicatos\",\"Trabajadores agri\\u0301colas\",\"Estados Unidos\",\"Historia\",\"Literatura juvenil\"],[\"Unio\\u0301n de Trabajadores Agri\\u0301colas\",\"Historia\",\"Literatura juvenil\"]],\"ocm48083852 \",\"Ce\\u0301sar Cha\\u0301vez : the struggle for justice = Ce\\u0301sar Cha\\u0301vez : la lucha por la justicia\",[\"text\"], { \"hi\":\"you\"} ]/*--E mvr--*/";
17
18
19         //char* jsons = buffer_data(buffer);
20         printf("\nOriginal JSON\n%s\n", jsons); 
21
22         object* yuk = json_parse_string(jsons); 
23         char* ccc = yuk->to_json(yuk); 
24         
25         object* o = yuk->get_index(yuk, 11);
26         printf("\nRandom unicode string => %s\n", o->string_data);
27
28         object* yuk2 = json_parse_string(ccc);
29         char* cccc = yuk2->to_json(yuk2);
30
31         printf("\nFinal JSON: \n%s\n", cccc);
32
33         int x = 0;
34         printf("\nParsing 10,000 round trips at %f...\n", get_timestamp_millis());
35
36         char* string2 = strdup(jsons);
37         while(x++ < 10000) {
38
39                 object* o = json_parse_string(string2); 
40                 free(string2);
41                 string2 = o->to_json(o);
42                 free_object(o);
43
44                 if(!(x%1000))
45                         fprintf(stderr, "Round trip at %d\n", x);
46         }
47
48         printf("\nAfter Loop: %f\n", get_timestamp_millis());
49
50
51         free(string2);
52         free(ccc); 
53         free(cccc); 
54         free_object(yuk); 
55         free_object(yuk2); 
56         //buffer_free(buffer);
57
58         return 0;
59
60 }
61
62