Merge pull request #128 from ityuhui/yh-freefrom-object-0614
Support free-form objects
This commit is contained in:
@@ -4,28 +4,48 @@
|
|||||||
#include "object.h"
|
#include "object.h"
|
||||||
|
|
||||||
object_t *object_create() {
|
object_t *object_create() {
|
||||||
object_t *object = malloc(sizeof(object_t));
|
object_t *object = calloc(1, sizeof(object_t));
|
||||||
|
|
||||||
return object;
|
return object;
|
||||||
}
|
}
|
||||||
|
|
||||||
void object_free(object_t *object) {
|
void object_free(object_t *object) {
|
||||||
|
if (!object) {
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (object->temporary) {
|
||||||
|
free(object->temporary);
|
||||||
|
object->temporary = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
free (object);
|
free (object);
|
||||||
}
|
}
|
||||||
|
|
||||||
cJSON *object_convertToJSON(object_t *object) {
|
cJSON *object_convertToJSON(object_t *object) {
|
||||||
cJSON *item = cJSON_CreateObject();
|
if (!object) {
|
||||||
|
|
||||||
return item;
|
|
||||||
fail:
|
|
||||||
cJSON_Delete(item);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!object->temporary) {
|
||||||
|
return cJSON_Parse("null");
|
||||||
|
}
|
||||||
|
|
||||||
|
return cJSON_Parse(object->temporary);
|
||||||
}
|
}
|
||||||
|
|
||||||
object_t *object_parseFromJSON(char *jsonString){
|
object_t *object_parseFromJSON(cJSON *json){
|
||||||
object_t *object = NULL;
|
if (!json) {
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
|
||||||
|
object_t *object = object_create();
|
||||||
|
if (!object) {
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
object->temporary = cJSON_Print(json);
|
||||||
return object;
|
return object;
|
||||||
|
|
||||||
end:
|
end:
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ object_t *object_create();
|
|||||||
|
|
||||||
void object_free(object_t *object);
|
void object_free(object_t *object);
|
||||||
|
|
||||||
object_t *object_parseFromJSON(char *jsonString);
|
object_t *object_parseFromJSON(cJSON *json);
|
||||||
|
|
||||||
cJSON *object_convertToJSON(object_t *object);
|
cJSON *object_convertToJSON(object_t *object);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user