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