欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

C 實體類 json 互轉

傅智翔1年前7瀏覽0評論

在C語言編程中,常常需要將實體類轉換為json格式的字符串,或者將json格式的字符串轉為實體類對象,這種轉換可以通過使用第三方庫cjson來實現。

首先我們需要將cjson庫添加到我們的工程中。在使用cjson庫前,需要創建一個json對象,可以使用cJSON_CreateObject()函數來創建一個json對象,如下所示:

cJSON* json_obj = cJSON_CreateObject();

然后我們可以通過調用cJSON_AddItemToObject()函數,將實體類的屬性值加入到json對象中。函數參數中第一個參數是json對象,第二個參數是屬性的key,第三個參數是屬性的值,如下所示:

cJSON_AddItemToObject(json_obj, "name", cJSON_CreateString("Tom"));
cJSON_AddItemToObject(json_obj, "id", cJSON_CreateNumber(12345));

以上代碼將一個名為“Tom”的字符串和一個id為12345的數字添加到了json對象中。

接下來我們可以將json對象轉換成字符串,使用cJSON_Print函數即可:

char* json_str = cJSON_Print(json_obj);

以上代碼將json對象轉換成字符串,并賦值給了json_str變量。

同樣地,我們也可以將json格式的字符串轉換為實體類對象。使用cJSON_Parse函數可以將json字符串轉換成json對象:

cJSON* json_obj = cJSON_Parse(json_str);

然后我們可以通過cJSON_GetObjectItem函數,獲取對象中對應屬性的值,如下所示:

cJSON* name_node = cJSON_GetObjectItem(json_obj, "name");
cJSON* id_node = cJSON_GetObjectItem(json_obj, "id");
char* name = cJSON_GetStringValue(name_node);
int id = id_node->valueint;

以上代碼將json對象中的“name”屬性值轉換成了一個名為name的字符串,將“id”屬性值轉換成了一個名為id的整數。

因此,我們可以使用cjson庫實現實體類和json字符串的互相轉換。