Browse Source

Ajout get_string

Arthur Brandao 6 năm trước cách đây
mục cha
commit
f809176e20
2 tập tin đã thay đổi với 26 bổ sung0 xóa
  1. 13 0
      Serveur/json.h
  2. 13 0
      Serveur/json_parser.c

+ 13 - 0
Serveur/json.h

@@ -131,6 +131,14 @@ int get_type(JsonParser*, char*);
  */
 char* get_value(JsonParser*, char*);
 
+/**
+ * Retourne la valeur d'un element de type string
+ * @param JsonParser* Le resultat de json_parse
+ * @param char* La clef lié à la valeur
+ * @return char* La valeur, NULL en cas d'erreur (type incorrect, clef introuvable)
+ */
+char* get_string(JsonParser*, char*);
+
 /**
  * Retourne la valeur d'un element de type number
  * @param JsonParser* Le resultat de json_parse
@@ -255,5 +263,10 @@ char* json_encode(JsonEncoder*);
  */
 void clean_json_encoder(JsonEncoder*);
 
+//JsonArray
+int json_parse_array(JsonArray*, char*);
+void ini_array_encoder(JsonArray*, int);
+char* json_encode_array(JsonArray*);
+
 #endif /* JSON_H */
 

+ 13 - 0
Serveur/json_parser.c

@@ -336,6 +336,19 @@ char* get_value(JsonParser* this, char* key){
     return get_index(this, index);
 }
 
+char* get_string(JsonParser* this, char* key){
+    //Recup index
+    int index;
+    if((index = search_index(this, key)) == JSON_ERROR){
+        return NULL;
+    }
+    //Verif type
+    if(this->type[index] != JSON_STRING){
+        return JSON_ERROR;
+    }
+    return get_index(this, index);
+}
+
 double get_number(JsonParser* this, char* key){
     //Recup index
     int index;