|
@@ -45,16 +45,17 @@ typedef struct{
|
|
|
char* str; //La chaine
|
|
|
char** val; //Pointeur vers les valeurs du tableau
|
|
|
int* val_length; //Taille des valeurs
|
|
|
+ int length; //Taille du tableau
|
|
|
}JsonArrayParser;
|
|
|
|
|
|
typedef struct{
|
|
|
JsonNode* tab; //Liste des elements du tableau
|
|
|
- int length; //Taille du tableau
|
|
|
+ JsonNode* last; //Dernier noeud ajouté
|
|
|
+ int length; //Taille de la chaine
|
|
|
}JsonArrayEncoder;
|
|
|
|
|
|
typedef struct{
|
|
|
int mode; //Le mode (Parse ou Encode)
|
|
|
- int type; //Le type de données du tableau
|
|
|
JsonArrayParser* parser;
|
|
|
JsonArrayEncoder* encoder;
|
|
|
}JsonArray;
|
|
@@ -234,7 +235,7 @@ void add_array(JsonEncoder*, char*, char*);
|
|
|
* @param char* La clef pour acceder à la valeur
|
|
|
* @param JsonEncoder La valeur
|
|
|
*/
|
|
|
-void add_object(JsonEncoder*, char*, JsonEncoder);
|
|
|
+void add_object(JsonEncoder*, char*, JsonEncoder*);
|
|
|
|
|
|
/**
|
|
|
* Transforma en chaine de caractère au format JSON
|
|
@@ -254,63 +255,69 @@ void clean_json_encoder(JsonEncoder*);
|
|
|
int json_parse_array(JsonArray*, char*);
|
|
|
|
|
|
//JsonArrayEncoder
|
|
|
-boolean ini_array_encoder(JsonArray*, int);
|
|
|
+
|
|
|
+/**
|
|
|
+ * Initialise le JsonArray en mode encoder
|
|
|
+ * @param JsonArray* La structure à initialiser
|
|
|
+ */
|
|
|
+void ini_array_encoder(JsonArray*);
|
|
|
+
|
|
|
/**
|
|
|
* Ajoute une valeur au JSON
|
|
|
- * @param JsonEncoder* La structure pour encoder
|
|
|
- * @param char* La chaine à ajouter (sous la forme "key": val)
|
|
|
+ * @param JsonArray* La structure pour encoder
|
|
|
+ * @param char* La chaine à ajouter
|
|
|
*/
|
|
|
-void add_array_value(JsonArray*, char*);
|
|
|
+boolean add_array_value(JsonArray*, char*);
|
|
|
|
|
|
/**
|
|
|
* Ajoute un string au JSON
|
|
|
- * @param JsonEncoder* La structure pour encoder
|
|
|
- * @param char* La clef pour acceder à la valeur
|
|
|
+ * @param JsonArray* La structure pour encoder
|
|
|
* @param char* La valeur
|
|
|
*/
|
|
|
-void add_array_string(JsonArray*, char*, char*);
|
|
|
+boolean add_array_string(JsonArray*, char*);
|
|
|
|
|
|
/**
|
|
|
* Ajoute un nombre au JSON
|
|
|
- * @param JsonEncoder* La structure pour encoder
|
|
|
+ * @param JsonArray* La structure pour encoder
|
|
|
* @param char* La clef pour acceder à la valeur
|
|
|
* @param double La valeur
|
|
|
* @param int Le nombre de chiffre après la virgule
|
|
|
*/
|
|
|
-void add_array_number(JsonArray*, char*, double, int);
|
|
|
+boolean add_array_number(JsonArray*, double, int);
|
|
|
|
|
|
/**
|
|
|
* Ajoute un entier au JSON
|
|
|
- * @param JsonEncoder* La structure pour encoder
|
|
|
- * @param char* La clef pour acceder à la valeur
|
|
|
+ * @param JsonArray* La structure pour encoder
|
|
|
* @param int La valeur
|
|
|
*/
|
|
|
-void add_iarray_nteger(JsonArray*, char*, int);
|
|
|
+boolean add_array_integer(JsonArray*, int);
|
|
|
|
|
|
/**
|
|
|
* Ajoute un boolean au JSON
|
|
|
- * @param JsonEncoder* La structure pour encoder
|
|
|
- * @param char* La clef pour acceder à la valeur
|
|
|
+ * @param JsonArray* La structure pour encoder
|
|
|
* @param boolean La valeur
|
|
|
*/
|
|
|
-void add_array_boolean(JsonArray*, char*, boolean);
|
|
|
+boolean add_array_boolean(JsonArray*, boolean);
|
|
|
|
|
|
/**
|
|
|
* Ajoute un tableau au JSON
|
|
|
- * @param JsonEncoder* La structure pour encoder
|
|
|
- * @param char* La clef pour acceder à la valeur
|
|
|
- * @param char* La valeur
|
|
|
+ * @param JsonArray* La structure pour encoder
|
|
|
+ * @param JsonArray* La valeur
|
|
|
*/
|
|
|
-void add_array_array(JsonArray*, char*, JsonArray*);
|
|
|
+boolean add_array_array(JsonArray*, JsonArray*);
|
|
|
|
|
|
/**
|
|
|
* Ajoute un objet JSON au JSON
|
|
|
- * @param JsonEncoder* La structure pour encoder
|
|
|
- * @param char* La clef pour acceder à la valeur
|
|
|
- * @param JsonEncoder La valeur
|
|
|
+ * @param JsonArray* La structure pour encoder
|
|
|
+ * @param JsonEncoder* La valeur
|
|
|
*/
|
|
|
-void add_array_object(JsonArray*, char*, JsonEncoder);
|
|
|
+boolean add_array_object(JsonArray*, JsonEncoder*);
|
|
|
+
|
|
|
char* json_encode_array(JsonArray*);
|
|
|
|
|
|
+//JsonArray
|
|
|
+
|
|
|
+void clean_json_array(JsonArray*);
|
|
|
+
|
|
|
#endif /* JSON_H */
|
|
|
|