Manipuler du JSON en langage C
J'ai demandé à ChatGPT un simple programme pour manipuler du json en C. Il m'a proposé d'utiliser la bibliothèque jansson.
Le programme
1#include <stdio.h>
2#include <string.h>
3#include <jansson.h>
4
5int main() {
6 json_t *root;
7 json_error_t error;
8
9 root = json_object();
10 if (!root) {
11 fprintf(stderr, "Erreur lors de la création de l'objet JSON");
12 return 1;
13 }
14
15 json_object_set_new(root, "a", json_integer(66));
16 json_object_set_new(root, "b", json_string("coucou"));
17
18 char *json_str = json_dumps(root, JSON_INDENT(4));
19 if (!json_str) {
20 fprintf(stderr, "Erreur lors de l'encodage JSON");
21 json_decref(root);
22 return 1;
23 }
24
25 printf("%s", json_str);
26
27 free(json_str);
28 json_decref(root);
29
30 return 0;
31}
Compilation
MacOS
1brew install janson
2gcc -o json json.c -ljansson
Debian
1apt install libjansson-dev
2gcc -o json json.c -ljansson
CentOS
1yum install jansson-devel
2gcc -o json json.c -ljansson
Résultat
1$ ./json
2{
3 "a": 66,
4 "b": "coucou"
5}
Ressources
comments powered by Disqus