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

c json 轉泛型集合

李中冰1年前7瀏覽0評論

C JSON是C語言中用于處理JSON數據的一種庫。而泛型集合則是指能夠容納不同數據類型的集合。那么如何將C JSON解析出的數據轉化成泛型集合的形式呢?

//這里使用C JSON庫中的例子做參考
#include "cJSON.h"
int main()
{
char *jsonstr = "{\"name\":\"Jack\",\"age\":18,\"hobby\":[\"reading\",\"music\"]}";
cJSON *json = cJSON_Parse(jsonstr); //解析json字符串
cJSON *name = cJSON_GetObjectItem(json, "name"); //獲取鍵為name的值
cJSON *age = cJSON_GetObjectItem(json, "age"); //獲取鍵為age的值
cJSON *hobby = cJSON_GetObjectItem(json, "hobby"); //獲取鍵為hobby的值(一個數組)
//將解析出的數據存入泛型集合中
List *list = createList();
add(list, cJSON_CreateString(name->valuestring));
add(list, cJSON_CreateNumber(age->valueint));
cJSON *hobbyArr = cJSON_GetArrayItem(hobby, 0);
for(int i=0;ivaluestring));
}
//釋放資源
cJSON_Delete(json);
clearList(list);
return 0;
}

在上面的例子中,我們通過C JSON庫中的函數cJSON_Parse將json字符串解析成一個json對象,然后使用cJSON_GetObjectItem函數依次取出里面的值。接著我們創建了一個泛型集合List,并使用cJSON中的函數cJSON_CreateString、cJSON_CreateNumber等創建相應類型的值,并將其添加到List中去。

最后我們需要釋放掉C JSON中解析出的json對象以及剛剛創建的List。這里我們通過C JSON中的函數cJSON_Delete和自己實現的函數clearList來釋放資源。