在C語言中,使用json庫可以很方便地將json串轉(zhuǎn)化為字典。以下是具體的代碼示例:
#include <stdio.h> #include <jansson.h> int main() { // 用字符串來存儲json串,注意要用雙引號括起來 char *json_str = "{"name": "張三", "age": 18, "isMale": true}"; // 解析json串 json_error_t error; json_t *root = json_loads(json_str, JSON_DECODE_ANY, &error); // 把json串轉(zhuǎn)化為字典 if (json_is_object(root)) { const char *key; json_t *value; json_object_foreach(root, key, value) { printf("%s: ", key); switch (json_typeof(value)) { case JSON_STRING: printf("%s\n", json_string_value(value)); break; case JSON_INTEGER: printf("%lld\n", json_integer_value(value)); break; case JSON_TRUE: printf("true\n"); break; case JSON_FALSE: printf("false\n"); break; default: printf("unknown\n"); } } } // 釋放內(nèi)存 json_decref(root); return 0; }
這個代碼示例中,我們用一個字符串模擬了一個json串,然后使用json_loads()函數(shù)把它解析成一個json_t*指針。如果解析成功,我們就可以使用json_typeof()函數(shù)來判斷json對象的類型,并調(diào)用相應(yīng)的函數(shù)來獲取值。最后,我們還需要釋放內(nèi)存,使用json_decref()函數(shù)完成。