在C語言中,解析JSON格式的數據是常見的操作,對于JSON對象,我們一般會遍歷其中的屬性,以便獲取所需的信息。下面是一種使用C語言遍歷JSON對象屬性的方法。
#include <stdio.h> #include <jansson.h> int main() { const char *json_string = "{\"name\":\"Jane\",\"age\":20,\"gender\":\"female\"}"; json_error_t error; json_t *root = json_loads(json_string, 0, &error); if (!root) { printf("json error: %s\n", error.text); return 1; } const char *key; json_t *value; json_object_foreach(root, key, value) { const char *value_string; switch(json_typeof(value)) { case JSON_STRING: value_string = json_string_value(value); printf("%s: %s\n", key, value_string); break; case JSON_INTEGER: printf("%s: %lld\n", key, json_integer_value(value)); break; case JSON_REAL: printf("%s: %f\n", key, json_real_value(value)); break; default: printf("%s: unknown type\n", key); break; } } json_decref(root); return 0; }
首先,我們使用json_loads()函數將JSON字符串解析為json_t類型的對象,若解析失敗則輸出錯誤信息并返回。然后,我們使用json_object_foreach()函數遍歷JSON對象中的鍵值對。每次遍歷時,我們根據值的具體類型輸出對應的信息。
以上就是使用C語言遍歷JSON對象屬性的方法,希望對您有所幫助。