File: test_object_iterator.c

package info (click to toggle)
json-c 0.15-2%2Bdeb11u1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 2,512 kB
  • sloc: ansic: 8,166; sh: 493; javascript: 82; makefile: 12; cpp: 11
file content (41 lines) | stat: -rw-r--r-- 960 bytes parent folder | download | duplicates (2)
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
#include "config.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include "json_object.h"
#include "json_object_iterator.h"
#include "json_tokener.h"

int main(int atgc, char **argv)
{
	const char *input = "{\n\
		\"string_of_digits\": \"123\",\n\
		\"regular_number\": 222,\n\
		\"decimal_number\": 99.55,\n\
		\"boolean_true\": true,\n\
		\"boolean_false\": false,\n\
		\"big_number\": 2147483649,\n\
		\"a_null\": null,\n\
		}";

	struct json_object *new_obj;
	struct json_object_iterator it;
	struct json_object_iterator itEnd;

	it = json_object_iter_init_default();
	new_obj = json_tokener_parse(input);
	it = json_object_iter_begin(new_obj);
	itEnd = json_object_iter_end(new_obj);

	while (!json_object_iter_equal(&it, &itEnd))
	{
		printf("%s\n", json_object_iter_peek_name(&it));
		printf("%s\n", json_object_to_json_string(json_object_iter_peek_value(&it)));
		json_object_iter_next(&it);
	}

	json_object_put(new_obj);

	return 0;
}