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

c json字符串轉list

錢良釵2年前7瀏覽0評論

在C語言中,將JSON字符串轉換為list是一個很常見的操作。JSON字符串是現代Web應用程序中常用的數據格式之一,它包含了鍵值對和數組等數據結構,方便進行數據傳輸。C語言中使用第三方庫cJSON來解析JSON字符串。

cJSON *json = NULL;
char *json_string = "{\"name\":\"Tom\",\"age\":20,\"hobbies\":[\"reading\",\"sports\"]}";
json = cJSON_Parse(json_string);
cJSON *name = cJSON_GetObjectItemCaseSensitive(json, "name");
cJSON *age = cJSON_GetObjectItemCaseSensitive(json, "age");
cJSON *hobbies = cJSON_GetObjectItemCaseSensitive(json, "hobbies");

以上代碼中,我們首先創建一個cJSON對象,然后從JSON字符串中解析出該對象。接著,我們使用cJSON_GetObjectItemCaseSensitive函數獲取JSON對象中的鍵值。由于hobbies是一個數組,我們可以使用cJSON_IsArray函數判斷是否為數組,如果是,就可以使用cJSON_GetArrayItem函數獲取數組元素。

if(cJSON_IsArray(hobbies)){
printf("hobbies: ");
cJSON *hobby = NULL;
cJSON_ArrayForEach(hobby, hobbies){
printf("%s, ", cJSON_GetStringValue(hobby));
}
}

以上代碼中,我們遍歷hobbies數組,并使用cJSON_GetStringValue函數獲取數組元素的字符串值。最后,我們將獲取到的字符串輸出到控制臺。

在使用cJSON解析JSON字符串時,需要注意內存管理。需要手動釋放解析出的cJSON對象。

cJSON_Delete(json);

以上為釋放cJSON內存的代碼段。