C語言中有一個很流行的Json庫叫做cJSON,它支持將Json數據流解析成Json對象、生成Json數據流等操作。在C語言中,我們可以把Json數據流解析成實體,并對其進行操作。
下面是一個示例:
#include <stdio.h> #include <cJSON.h> typedef struct { int id; char name[20]; int age; } UserInfo; int main() { char *jsonStr = "{\"id\":1,\"name\":\"Tom\",\"age\":19}"; cJSON *json = cJSON_Parse(jsonStr); UserInfo userInfo; userInfo.id = cJSON_GetObjectItem(json, "id")->valueint; strcpy(userInfo.name, cJSON_GetObjectItem(json, "name")->valuestring); userInfo.age = cJSON_GetObjectItem(json, "age")->valueint; cJSON_Delete(json); return 0; }
上面的代碼定義了一個UserInfo結構體,用來存放從Json數據流轉換而來的實體。首先定義了一個Json字符串,然后通過cJSON_Parse函數將其解析為一個cJSON對象。接著依次用cJSON_GetObjectItem函數取出各個屬性對應的值,并保存到UserInfo結構體中。最后使用cJSON_Delete函數刪除cJSON對象。
cJSON轉換實體是C語言處理Json數據流的常用方式之一,如果您對Json數據的處理有需求,可以借助cJSON庫來簡化操作。