C語言是一種廣泛使用的編程語言之一,而JSON則是一種輕量級的數據交換格式。在C語言中,我們可以使用第三方庫來解析JSON數據,并對其進行循環遍歷賦值操作。
#include <stdio.h> #include <jansson.h> int main() { char *json_string = "{\"name\": \"Tom\", \"age\": 20, \"isStudent\": true}"; json_error_t error; json_t *root = json_loads(json_string, 0, &error); if (root == NULL) { printf("JSON error: on line %d: %s\n", error.line, error.text); return 1; } const char *name; int age; int is_student; json_unpack(root, "{s:s, s:i, s:b}", "name", &name, "age", &age, "isStudent", &is_student); printf("name: %s\n", name); printf("age: %d\n", age); printf("is_student: %d\n", is_student); json_decref(root); return 0; }
在這段代碼中,我們首先定義了一個JSON字符串,然后調用json_loads函數將其轉換成json_t結構體。如果轉換失敗,我們可以使用返回的json_error_t結構體獲取錯誤信息并退出程序。
接下來,我們定義了三個變量以存儲將要獲取的值,并調用json_unpack函數進行賦值操作。該函數的第一個參數是json_t結構體,第二個參數是用來定義賦值順序的格式字符串。在本例中,我們使用格式字符串"{s:s, s:i, s:b}",其中前面的字母s表示要獲取的JSON鍵值對的類型,后面的s、i、b分別表示字符串、整數和布爾類型。使用&符號和變量名將解析出來的值賦給變量。
最后,我們使用json_decref函數釋放json_t結構體,然后返回0表示程序正常結束。
上一篇c json對象數組
下一篇python 屏蔽快捷鍵