-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdemo.c
71 lines (64 loc) · 1.63 KB
/
demo.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include <string.h>
#include <jansson.h>
#include "stataread.h"
#include "stata.h"
void jsonType(int ty)
{
switch(ty)
{
case JSON_OBJECT:
printf("JSON_OBJECT\n\r");
break;
case JSON_ARRAY:
printf("JSON_ARRAY\n\r");
break;
case JSON_STRING:
printf("JSON_STRING\n\r");
break;
case JSON_INTEGER:
printf("JSON_INTEGER\n\r");
break;
case JSON_REAL:
printf("JSON_REAL\n\r");
break;
case JSON_TRUE:
printf("JSON_TRUE\n\r");
break;
case JSON_FALSE:
printf("JSON_FALSE\n\r");
break;
case JSON_NULL:
printf("JSON_NULL\n\r");
break;
}
}
int main(int argc, char *argv[])
{
size_t i;
char *text;
json_t *root;
json_error_t error;
if (argc != 1)
{
root = json_load_file(argv[1], 0, &error);
if (root)
{
if (JSON_OBJECT == json_typeof(root))
{
json_t * metadata = json_object_get(root, "metadata");
json_int_t vars = json_integer_value(json_object_get(metadata, "variables"));
json_int_t obs = json_integer_value(json_object_get(metadata, "observations"));
printf("Variables: %ld\n\r" , (long)vars);
printf("Observations: %ld\n\r", (long)obs);
}
}
else
{
printf("Error! %s\n\r", error.text);
}
}
else
{
printf("Usage: %s <filename>\n\r", argv[0]);
}
}