在C語言中解析JSON格式的數(shù)據(jù),首先需要使用支持JSON解析的庫,如cJSON庫,該庫提供了方便的方式來從字符串中獲取JSON對(duì)象。
#include <stdio.h> #include <cJSON.h> int main() { char* json_str = "{\"key1\":\"value1\",\"key2\":\"value2\"}"; cJSON* json_obj = cJSON_Parse(json_str); if (json_obj != NULL) { cJSON* item1 = cJSON_GetObjectItemCaseSensitive(json_obj, "key1"); if (cJSON_IsString(item1) && (item1->valuestring != NULL)) { printf("%s : %s\n", item1->string, item1->valuestring); } cJSON* item2 = cJSON_GetObjectItemCaseSensitive(json_obj, "key2"); if (cJSON_IsString(item2) && (item2->valuestring != NULL)) { printf("%s : %s\n", item2->string, item2->valuestring); } cJSON_Delete(json_obj); } return 0; }
代碼中首先定義了一個(gè)JSON字符串,然后通過cJSON_Parse函數(shù)將其解析為JSON對(duì)象,接著使用cJSON_GetObjectItemCaseSensitive函數(shù)從JSON對(duì)象中獲取鍵值對(duì)。
注意:cJSON_GetObjectItemCaseSensitive函數(shù)返回的是鍵對(duì)應(yīng)的值,而不是鍵本身。因此,通過item->string可以獲取鍵。
利用以上方法,可以方便地在C語言中對(duì)JSON字符串進(jìn)行解析,并獲取其中的鍵值對(duì)。
下一篇vue3pdf