在C語言中處理JSON數據是一個不常見但非常有用的技能,尤其是在處理網絡請求、Web API等方面。而noh庫是一個輕量級的C庫,可以方便地解析和構建JSON數據。
//解析JSON數據 #include <stdio.h> #include <noh/noh.h> int main(){ const char *json_data = "{\"name\":\"Tom\",\"age\":20}"; noh_object_t *root = noh_parse(json_data); noh_object_t *name_node = noh_object_get_member(root, "name"); char *name = noh_string_get_string(name_node->value.string); printf("Name: %s\n", name); noh_object_free(root); return 0; }
在以上代碼中,我們首先定義了一個JSON字符串,然后用noh_parse函數將其解析為noh_object_t對象。接著使用noh_object_get_member函數獲取了"name"節點,最后使用noh_string_get_string函數獲取了name節點的值。務必記得在程序結束時使用noh_object_free函數釋放內存。
//構建JSON數據 #include <stdio.h> #include <noh/noh.h> int main(){ noh_object_t *root = noh_object_create(NOH_OBJECT); noh_string_t *name = noh_string_create("Tom"); noh_integer_t *age = noh_integer_create(20); noh_object_add_member(root, "name", NOH_STRING(name)); noh_object_add_member(root, "age", NOH_INTEGER(age)); char *json_str = noh_string_get_string(noh_stringify(root)); printf("JSON: %s\n", json_str); noh_object_free(root); noh_string_free(name); noh_integer_free(age); noh_free(json_str); return 0; }
以上代碼演示了如何使用noh庫構建JSON數據。我們首先使用noh_object_create函數創建一個根節點,然后使用noh_string_create和noh_integer_create創建字符串和整數節點,使用noh_object_add_member將這些節點添加到根節點下。最后使用noh_stringify將根節點轉換為JSON字符串。同樣,記得在程序結束時使用各種noh_*_free函數釋放內存。
上一篇html 分享代碼怎么用
下一篇vue ele ui