/* * File: json.h * Author: Arthur Brandao * * Created on 28 octobre 2018, 17:53 */ #ifndef JSON_H #define JSON_H /* --- Include --- */ #include #include "boolean.h" /* --- Constante --- */ #define JSON_ERROR -1 #define JSON_OK 0 #define JSON_STRING 1 #define JSON_NUMBER 2 #define JSON_BOOLEAN 3 #define JSON_ARRAY 4 #define JSON_OBJECT 5 /* --- Structure --- */ typedef struct{ char* str; //La chaine de carac json int elt; //Le nombre d'element char** key; //La position des clef dans la chaine char** val; //La position de la valeur int* key_length; //La taille des clefs int* val_length; //La taille des valeurs int* type; //Le type des valeurs }JsonParser; /* --- Fonctions ---- */ int json_parse(JsonParser*, char*); char* key_index(JsonParser*, int); char* get_index(JsonParser*, int); int get_pos(JsonParser*, char*); int get_type(JsonParser*, char*); char* get_value(JsonParser*, char*); double get_number(JsonParser*, char*); int get_integer(JsonParser*, char*); boolean get_boolean(JsonParser*, char*); char* get_array(JsonParser*, char*); JsonParser* get_object(JsonParser*, char*); void clean_json_parser(JsonParser*); #endif /* JSON_H */