在C語言中,可以使用第三方庫來實現JSON類型的處理。其中比較常用的是cJSON。cJSON是一款輕量級JSON解析庫,可以用于在C語言中讀取和創建JSON數據。
#include <stdio.h>#include <stdlib.h>#include <cJSON.h>int main() { char str[] = "{\"foo\": \"bar\", \"num\": 123}"; cJSON *json = cJSON_Parse(str); if (!json) { printf("Error before: %s\n", cJSON_GetErrorPtr()); return 1; } cJSON *item = cJSON_GetObjectItemCaseSensitive(json, "foo"); if (cJSON_IsString(item) && (item->valuestring != NULL)) { printf("foo: %s\n", item->valuestring); } item = cJSON_GetObjectItemCaseSensitive(json, "num"); if (cJSON_IsNumber(item)) { printf("num: %d\n", item->valueint); } cJSON_Delete(json); return 0; }
上面的代碼演示了如何解析一個包含"foo"和"num"兩個字段的JSON字符串。
cJSON的使用十分靈活,可以處理各種復雜的JSON數據結構。同時,其代碼非常精簡高效,對內存和性能的要求比較低。因此,cJSON成為了在C語言中處理JSON的首選庫之一。