|
@@ -21,6 +21,8 @@
|
|
#define JSON_OBJECT 5
|
|
#define JSON_OBJECT 5
|
|
|
|
|
|
/* --- Structure --- */
|
|
/* --- Structure --- */
|
|
|
|
+typedef JsonNode JsonNode;
|
|
|
|
+
|
|
typedef struct{
|
|
typedef struct{
|
|
char* str; //La chaine de carac json
|
|
char* str; //La chaine de carac json
|
|
int elt; //Le nombre d'element
|
|
int elt; //Le nombre d'element
|
|
@@ -31,8 +33,23 @@ typedef struct{
|
|
int* type; //Le type des valeurs
|
|
int* type; //Le type des valeurs
|
|
}JsonParser;
|
|
}JsonParser;
|
|
|
|
|
|
|
|
+typedef struct{
|
|
|
|
+ JsonNode* head;
|
|
|
|
+ JsonNode* tail;
|
|
|
|
+ int length;
|
|
|
|
+}JsonEncoder;
|
|
|
|
+
|
|
|
|
+struct JsonNode{
|
|
|
|
+ JsonNode* prev;
|
|
|
|
+ JsonNode* next;
|
|
|
|
+ char* key;
|
|
|
|
+ char* val;
|
|
|
|
+};
|
|
|
|
+
|
|
/* --- Fonctions ---- */
|
|
/* --- Fonctions ---- */
|
|
|
|
|
|
|
|
+//JsonParser
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* Parse une chaine JSON en JsonParser
|
|
* Parse une chaine JSON en JsonParser
|
|
* Initialise ou écrase les données du JsonParser
|
|
* Initialise ou écrase les données du JsonParser
|
|
@@ -128,5 +145,17 @@ JsonParser* get_object(JsonParser*, char*);
|
|
*/
|
|
*/
|
|
void clean_json_parser(JsonParser*);
|
|
void clean_json_parser(JsonParser*);
|
|
|
|
|
|
|
|
+//Json Encoder
|
|
|
|
+
|
|
|
|
+void ini_encoder(JsonEncoder*);
|
|
|
|
+int add_value(JsonEncoder*, char*, char*);
|
|
|
|
+int add_number(JsonEncoder*, char*, double);
|
|
|
|
+int add_integer(JsonEncoder*, char*, int);
|
|
|
|
+int add_boolean(JsonEncoder*, char*, boolean);
|
|
|
|
+int add_array(JsonEncoder*, char*, char*);
|
|
|
|
+int add_object(JsonEncoder*, char*, JsonEncoder);
|
|
|
|
+char* json_encode(JsonEncoder*);
|
|
|
|
+void clean_json_encoder(JsonEncoder*);
|
|
|
|
+
|
|
#endif /* JSON_H */
|
|
#endif /* JSON_H */
|
|
|
|
|