C 表格數據源 json 是一種經過格式化的數據源,能夠幫助開發者在 C 語言程序中創建和使用表格數據。該數據源的主要優勢在于數據格式簡單易懂,易于操作和維護。在 C 語言中使用 json 格式的數據源需要一個 json-c 庫,該庫不僅支持 C 語言,還支持其它語言,如 Python、Perl、Java 等,是一個廣泛使用的數據源庫。
/* 例子1:使用 json-c 庫的方法 */ #include#include #include int main() { char * data = "{\"name\":\"Jack\",\"age\":22}"; struct json_object * jobj = json_tokener_parse(data); printf("Name: %s, Age: %d\n", json_object_get_string(json_object_object_get(jobj, "name")), json_object_get_int(json_object_object_get(jobj, "age"))); return 0; }
上面的代碼演示了如何使用 json-c 庫在 C 程序中解析 json 數據,并取出其中的值。首先傳入一個字符串類型的 json 數據到 json_tokener_parse 方法中,它會返回一個 json_object 對象。接著使用 json_object_object_get 方法取出該對象中 key 名為 "name" 和 "age" 的值,并使用相應的方法取出它們所對應的數據類型。最后輸出取出的結果。
/* 例子2:使用 C 表格數據源 */ #include#include #include int main() { char * data = "[{\"name\":\"Jack\",\"age\":22}," "{\"name\":\"Lucy\",\"age\":28}]"; struct json_object * jarray = json_tokener_parse(data); int arraylen = json_object_array_length(jarray); for (int i = 0; i< arraylen; i++) { struct json_object *jobj = json_object_array_get_idx(jarray, i); printf("Name: %s, Age: %d\n", json_object_get_string(json_object_object_get(jobj, "name")), json_object_get_int(json_object_object_get(jobj, "age"))); } return 0; }
上面的代碼示范了如何使用 C 表格數據源在 C 語言程序中創建表格數據,然后通過循環取出表格中的每一行數據。我們傳入了一個的 json 字符串,它包含兩個用戶信息。使用 json_tokener_parse 方法把 json 字符串轉換成一個 json 數組對象,然后使用 json_object_array_length 方法獲取數組的長度;接下來循環遍歷數組,通過 json_object_array_get_idx 方法獲取數組中每個元素,并使用 json_object_object_get 和相應的方法取出其中的值,最后做相應的處理。