C語言中的字典是一種非常實用的數據結構,它可以用來存儲鍵值對。在C語言中,我們可以使用結構體來實現字典。例如:
struct dict_entry { char* key; int value; }; struct dict { struct dict_entry* entries; int size; };
這個字典有一個“entries”數組,每個數組項包含一個鍵和一個值。我們可以使用指針來操作這個數組。例如,要添加一個新項,我們需要先擴展數組的大小,然后將新的鍵和值插入到數組中。
C語言中的JSON字符串也經常用來表示字典。例如,以下是一個JSON字符串:
{ "name": "Alice", "age": 25 }
這個字符串表示一個有兩個鍵值對的字典,鍵是“name”和“age”,對應的值是“Alice”和“25”。我們可以使用C語言的JSON庫來解析這個字符串。例如,以下是一個使用jansson庫的例子:
#include <jansson.h> int main() { const char* json_string = "{ \"name\": \"Alice\", \"age\": 25 }"; json_error_t error; json_t* root = json_loads(json_string, 0, &error); const char* name = json_string_value(json_object_get(root, "name")); int age = json_integer_value(json_object_get(root, "age")); printf("Name: %s, Age: %d\n", name, age); json_decref(root); return 0; }
在這個例子中,我們在程序中定義了一個JSON字符串,“json_string”。然后我們使用“json_loads”函數將這個字符串加載到一個JSON對象中。我們可以使用“json_object_get”函數獲取JSON對象中的一個項。在這個例子中,我們獲取了“name”和“age”兩個鍵對應的值,并將它們打印出來。最后,我們需要調用“json_decref”函數來釋放JSON對象占用的內存。
上一篇c 字典值轉json
下一篇python 求微積分