C語言中有許多處理JSON的庫,其中一個比較常用的是cJSON。
下面是一個簡單的例子,展示了如何使用cJSON將JSON格式的數據轉換為C語言的對象。
#include <stdio.h> #include <cJSON.h> int main() { // 定義JSON字符串 char* json_str = "{\ \"name\": \"張三\",\ \"age\": 20,\ \"score\": {\ \"chinese\": 90,\ \"math\": 80,\ \"english\": 70\ }\ }"; // 解析JSON字符串 cJSON* root = cJSON_Parse(json_str); // 獲取name字段 cJSON* name = cJSON_GetObjectItem(root, "name"); printf("name: %s\n", name->valuestring); // 獲取age字段 cJSON* age = cJSON_GetObjectItem(root, "age"); printf("age: %d\n", age->valueint); // 獲取score字段 cJSON* score = cJSON_GetObjectItem(root, "score"); // 獲取chinese字段 cJSON* chinese = cJSON_GetObjectItem(score, "chinese"); printf("chinese score: %d\n", chinese->valueint); // 獲取math字段 cJSON* math = cJSON_GetObjectItem(score, "math"); printf("math score: %d\n", math->valueint); // 獲取english字段 cJSON* english = cJSON_GetObjectItem(score, "english"); printf("english score: %d\n", english->valueint); // 刪除cJSON對象 cJSON_Delete(root); return 0; }
該例子中使用了cJSON提供的多個API,包括cJSON_Parse、cJSON_GetObjectItem等。通過這些API可以方便地將JSON字符串轉換為C語言的對象,并對其進行操作。