C語言中,JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式。在處理JSON數(shù)據(jù)時,使用JSON庫將其轉(zhuǎn)換為字典更加方便,這樣可以通過key-value pairs(鍵值對)來操作JSON數(shù)據(jù)。
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<jansson.h> int main() { char *json_str = "{\"name\":\"Jack\", \"age\": 20}"; json_error_t error; json_t *root = json_loads(json_str, 0, &error); if (!root) { fprintf(stderr, "Error on line %d: %s\n", error.line, error.text); return 1; } if(!json_is_object(root)) { fprintf(stderr, "error: json was not an object\n"); json_decref(root); return 1; } const char *key; json_t *value; json_object_foreach(root, key, value) { if(json_is_string(value)) printf("%s: %s\n", key, json_string_value(value)); if(json_is_integer(value)) printf("%s: %lld\n", key, (long long)json_integer_value(value)); } json_decref(root); return 0; }
以上代碼演示了如何通過JSON庫將一個JSON字符串轉(zhuǎn)換為字典,并且通過鍵值對來訪問數(shù)據(jù)。