在C語言項目中,定義全局JSON是非常常見的操作,這種操作可以使得多個函數(shù)之間無需傳遞參數(shù)就可以方便地共享數(shù)據(jù)。下面是如何在C語言項目里定義全局JSON。
#include <stdio.h> #include <stdlib.h> #include <jansson.h> json_t *g_json; int main() { g_json = json_object(); json_object_set_new(g_json, "name", json_string("Tom")); json_object_set_new(g_json, "age", json_integer(18)); printf("name: %s, age: %d\n", json_string_value(json_object_get(g_json, "name")), (int)json_integer_value(json_object_get(g_json, "age"))); json_delete(g_json); return 0; }
在上面的代碼中,我們首先使用<jansson.h>庫來定義一個指向全局JSON的指針g_json。然后在main函數(shù)中,我們使用json_object()函數(shù)來創(chuàng)建一個新的JSON對象,接著通過json_object_set_new()函數(shù)來設置對象的屬性。最后我們使用json_string_value()和json_integer_value()函數(shù)來獲取JSON對象中相應屬性的值。
注意,我們在程序結束前還需使用json_delete()函數(shù)來釋放g_json所指向的JSON對象,否則會出現(xiàn)內存泄漏的情況。