C語(yǔ)言是一門(mén)廣泛應(yīng)用于嵌入式系統(tǒng)和系統(tǒng)級(jí)編程的語(yǔ)言,其在處理JSON格式數(shù)據(jù)時(shí)非常方便。這里介紹如何在C語(yǔ)言中將JSON格式數(shù)據(jù)讀取到字典中。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main(int argc, char **argv) { char* json_string = "{\"key1\": 1, \"key2\": \"value2\"}"; json_t* root; json_error_t error; root = json_loads(json_string, 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: root is 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)) { const char *string_value = json_string_value(value); printf("key: %s, value: %s\n", key, string_value); } else if (json_is_integer(value)) { int int_value = json_integer_value(value); printf("key: %s, value: %d\n", key, int_value); } } json_decref(root); return 0; }
上面的代碼實(shí)現(xiàn)了將JSON格式數(shù)據(jù)加載到字典中,并遍歷字典輸出鍵值對(duì)。