uDATA 数据模型

定义

uDATA 采用的键值形成来保存数据对。其中键与值都支持任意数据类型,支持int、char、float、string、object:

typedef struct _udata uData;
typedef struct _value Value;

struct _value {
    int type;
    int updated;
    union {
        int v_int;
        unsigned char v_bool;
        float v_float;
        char *v_str;
        uData *v_obj;
    };
};
struct _udata {
    slist_t head;
    Value key;
    Value value;
};

接口定义

创建 uData

uData *yoc_udata_new();

释放 uData

void yoc_udata_free(uData *data);

根据 key 获取 value

uData *yoc_udata_get(uData *data, Value key);

将key、value 写入 uData

int yoc_udata_set(uData *data, Value key, Value value, int force_set_update_flag);

清除所有数据的状态标记

void yoc_udata_clear_flag_all(uData *data);

设置指定键的数据状态

int yoc_udata_set_flag(uData *udata, Value key, int flag);

格式化打印 uData

int yoc_data_print(uData *data);

将 uData 转成 json

int yoc_udata_to_json(uData *data, char *buffer, size_t len, int check_update);

将 json 字符串加载到 uData

int yoc_udata_from_json(uData *data, char *json);

results matching ""

    No results matching ""