JSON(JavaScript Object Notation)是一種輕量級數據交換格式,它是基于JavaScript的子集。它是一種文本格式,易于閱讀和編寫,也易于機器解析和生成。JSON格式的數據可以用于Web應用程序之間的數據交換,也可以在客戶端和服務器端之間進行數據交換。
C語言是最流行的編程語言之一。C語言對JSON的解析有許多庫,比如jansson、cJSON、json-c等。
#include <stdio.h> #include <cJSON.h> int main() { char* json_string = "{\"name\":\"Tom\",\"age\":20,\"score\":[88,92,95]}"; cJSON* root = cJSON_Parse(json_string); cJSON* name = cJSON_GetObjectItem(root, "name"); cJSON* age = cJSON_GetObjectItem(root, "age"); cJSON* score = cJSON_GetObjectItem(root, "score"); printf("Name: %s\n", name->valuestring); printf("Age: %d\n", age->valueint); printf("Score:"); cJSON* score_item = NULL; cJSON_ArrayForEach(score_item, score) { printf(" %d", score_item->valueint); } printf("\n"); cJSON_Delete(root); return 0; }
上面的代碼演示了如何使用cJSON庫解析JSON格式的數據。它首先定義了一個JSON格式的字符串,然后使用cJSON_Parse函數將其解析為cJSON的根節點。
使用cJSON_GetObjectItem函數獲取根節點下指定鍵對應的值。對于字符串類型的值,可以使用valuestring獲取值;對于整型類型的值,可以使用valueint獲取值;對于數組類型的值,可以使用cJSON_ArrayForEach遍歷其中的元素。
最后使用cJSON_Delete函數釋放解析后的根節點。