欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 中如何使用json數據庫

林國瑞2年前9瀏覽0評論

在C語言中使用JSON數據庫可以為程序開發提供很大的便利,主要步驟如下:

1、安裝Json-c

Json-c是一種開源的C語言JSON解析器庫,它提供了一組API方法來解析和生成JSON格式。可以通過以下命令來安裝Json-c。

sudo apt-get install libjson-c-dev

2、在代碼中引入Json-c庫

#include <json-c/json.h>

3、解析JSON格式數據

Json-c庫提供了一組API方法來解析JSON格式數據,可以參考以下示例代碼:

/**
 * 取出JSON數據中指定鍵的值
 * @param   root      json對象指針
 * @param   key       鍵字符串
 * @param   ret_type  返回值的類型:string、int、double
 * @return            返回值
 */
static void *get_json_value(struct json_object *root, const char *key, const char *ret_type) {
struct json_object *obj = NULL;
void *ret = NULL;
if (json_object_object_get_ex(root, key, &obj)) {
if (strcmp(ret_type, "string") == 0) {
ret = (void*)json_object_get_string(obj);
} else if (strcmp(ret_type, "int") == 0) {
ret = (void*)(long)json_object_get_int64(obj);
} else if (strcmp(ret_type, "double") == 0) {
ret = (void*)(double)json_object_get_double(obj);
}
}
return ret;
}
int main(int argc, char **argv) {
char *json_str = "{\"name\": \"張三\", \"age\": 23, \"salary\": 5600.75}";
struct json_object *root = json_tokener_parse(json_str);
char *name = (char*)get_json_value(root, "name", "string");
int age = *(int*)get_json_value(root, "age", "int");
double salary = *(double*)get_json_value(root, "salary", "double");
printf("name: %s, age: %d, salary: %.2f\n", name, age, salary);
return 0;
}

4、生成JSON格式數據

同樣,Json-c庫也提供了一組API方法來生成JSON格式數據,以下是一個生成JSON格式數據的示例代碼:

struct json_object *obj = json_object_new_object();
json_object_object_add(obj, "name", json_object_new_string("張三"));
json_object_object_add(obj, "age", json_object_new_int(23));
json_object_object_add(obj, "salary", json_object_new_double(5600.75));
char *json_str = json_object_to_json_string(obj);
printf("%s\n", json_str);

以上就是在C語言中使用JSON數據庫的基本步驟,通過使用Json-c庫,我們可以方便地解析和生成JSON格式數據,從而在程序開發中提高開發效率。