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

c 將字符串轉成json后獲取值

李中冰1年前7瀏覽0評論

C語言作為一門通用性編程語言,不僅可以用于系統級開發,也可以用于Web開發。在Web開發中,JSON格式已經成為了一種不可或缺的數據格式。在C語言中,可以使用JSON-c這個庫來處理JSON格式的數據,接下來我們將會討論如何將字符串轉成JSON并獲取其中的值。

JSON-c庫可以通過命令行安裝,安裝完成后需要在代碼中引入頭文件"json-c/json.h":

#include <json-c/json.h>

接下來,我們定義一個字符串作為JSON數據:

char* json_string = "{\n\t\"name\": \"Tom\",\n\t\"age\": 18,\n\t\"hobby\": [\"football\", \"basketball\"]\n}";

然后,我們可以使用json_tokener_parse函數將字符串轉換成JSON對象:

struct json_object* json_obj = json_tokener_parse(json_string);

接著,我們就可以通過json_object對象的相應函數,獲取JSON中的值了。例如,我們可以通過json_object_object_get函數獲取對象中的鍵值,通過json_object_get_array函數獲取數組中的元素:

struct json_object* name_obj = json_object_object_get(json_obj, "name");
const char* name = json_object_get_string(name_obj);
struct json_object* hobby_arr_obj = json_object_object_get(json_obj, "hobby");
int n_hobby = json_object_array_length(hobby_arr_obj);
for(int i=0; i<n_hobby; i++){
struct json_object* hobby_obj = json_object_array_get_idx(hobby_arr_obj, i);
const char* hobby = json_object_get_string(hobby_obj);
}

最后,使用json_object_put函數釋放JSON對象的內存:

json_object_put(json_obj);

以上就是在C語言中將字符串轉換成JSON并獲取其中的值的過程。有了JSON-c這個庫,我們可以在C語言中便捷地處理JSON格式的數據,同時,使用JSON格式也可以為Web開發提供更加靈活的數據交互方式。