C WebAPI 是一種創建 Web 服務器應用程序的常用方法。我們可以使用它來接收來自客戶端的請求,并返回相應的數據。在某些情況下,我們需要處理復雜的 JSON 字符串。這個時候,我們需要了解如何在 C 語言中處理 JSON,以便我們可以處理和操作這些數據。
#include "cJSON.h" #include <stdio.h> int main(void) { char *json = "{\"name\":\"Bob\", \"age\":30, \"skills\":[\"programming\", \"design\"]}"; cJSON *root = cJSON_Parse(json); if (root == NULL ) { printf("Error before: [%s]\n", cJSON_GetErrorPtr()); return 1; } cJSON *name = cJSON_GetObjectItemCaseSensitive(root, "name"); cJSON *age = cJSON_GetObjectItemCaseSensitive(root, "age"); cJSON *skills = cJSON_GetObjectItemCaseSensitive(root, "skills"); printf("Name: %s\n", cJSON_Print(name)); printf("Age: %d\n", age->valueint); cJSON *skill = NULL; cJSON_ArrayForEach(skill, skills) { printf("Skill: %s\n", cJSON_Print(skill)); } cJSON_Delete(root); return 0; }
在上面的代碼示例中,我們使用了一個名為 cJSON 的 C 庫,它可以幫助我們處理 JSON 數據。我們首先解析 JSON 字符串,然后使用 cJSON_GetObjectItemCaseSensitive 函數來獲取其中的屬性和數組。我們還使用 cJSON_ArrayForEach 宏來循環遍歷技能數組。
綜上所述,當我們需要處理復雜的 JSON 字符串時,我們需要使用 C 庫來輔助我們進行操作。該庫可以使我們更加輕松地讀寫 JSON,以及更好地處理復雜的數據結構。