C是一個通用的編程語言,可以用于開發多種應用,包括Web應用。在Web開發中,經常需要處理JSON數據。JSON(JavaScript對象表示法)是一種輕量級數據交換格式,易于閱讀和編寫,也易于機器解析和生成。將JSON轉換為數組是一種常見的操作,可以使用C語言中的相關庫輕松實現。
#include <stdio.h> #include <jansson.h> int main() { const char *json_string = "{\"name\":\"Tom\", \"age\":25, \"scores\":[80, 90, 95]}"; json_t *root = json_loads(json_string, 0, NULL); if (root == NULL) { printf("Error: cannot parse JSON string\n"); return 1; } if (!json_is_object(root)) { printf("Error: JSON root is not an object\n"); json_decref(root); return 1; } json_t *scores_array = json_object_get(root, "scores"); if (!json_is_array(scores_array)) { printf("Error: scores is not an array\n"); json_decref(root); return 1; } size_t i; for (i = 0; i< json_array_size(scores_array); i++) { json_t *score = json_array_get(scores_array, i); if (!json_is_integer(score)) { printf("Error: score %u is not an integer\n", i); json_decref(root); return 1; } int val = json_integer_value(score); printf("score[%u] = %d\n", i, val); } json_decref(root); return 0; }
上述代碼演示了如何將JSON字符串轉換為JSON對象,并從對象中獲取“scores”數組。接下來,使用json_array_size()函數獲取數組大小,使用json_array_get()函數獲取數組元素,使用json_is_integer()函數檢查元素類型,最后使用json_integer_value()函數獲取元素值。
轉換JSON為數組是一種基本操作,C語言提供了豐富的基礎庫和第三方庫,使得這一操作變得簡單而易行。如果你是C語言愛好者或者想要學習C語言,那么處理JSON數據是你必須掌握的技能之一。