色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c 對象轉成json字符串

錢淋西2年前8瀏覽0評論

在C語言開發中,很多情況下需要將C對象轉換成JSON字符串進行傳輸和存儲,本文將介紹如何使用cJSON庫實現C對象轉成JSON字符串的方法。

#include "cJSON.h"
typedef struct{
int age;
char* name;
} Person;
int main(){
Person p = {20, "John"};
cJSON* root = cJSON_CreateObject();
cJSON_AddNumberToObject(root, "age", p.age);
cJSON_AddStringToObject(root, "name", p.name);
char* jsonStr = cJSON_Print(root);
cJSON_Delete(root);
printf("%s", jsonStr);
return 0;
}

首先,我們需要在C文件中引入cJSON庫的頭文件cJSON.h。然后,定義一個結構體Person來存儲需要轉換的對象。在main函數中,我們先初始化一個Person類型的對象p。然后,創建一個cJSON對象root,并使用cJSON_AddNumberToObject和cJSON_AddStringToObject方法將p中的屬性值添加到root對象中,屬性名對應鍵名。最后,通過cJSON_Print函數將root對象轉換成JSON字符串并將其輸出。

在代碼開頭,我們也可以使用以下方法將Person對象轉換成cJSON對象:

cJSON* cPerson = cJSON_CreateObject();
cJSON_AddNumberToObject(cPerson, "age", p.age);
cJSON_AddStringToObject(cPerson, "name", p.name);

接著,我們可以將cPerson對象添加到root對象中,作為一個屬性對象:

cJSON_AddItemToObject(root, "person", cPerson);

這樣,在轉換成JSON字符串后,輸出結果將會包含person屬性,并且屬性值為一個對象。

總之,使用cJSON庫可以方便地將C對象轉換成JSON字符串,從而方便地進行數據傳輸和存儲。