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

c json字符轉list

錢瀠龍2年前9瀏覽0評論

對于C語言開發者而言,在處理JSON數據時,將字符類型的JSON數據轉換為C數據類型是非常常見的操作。這篇文章將討論如何將JSON數據中的字符列表轉換為C語言中的List類型。

#include <json-c/json.h>
#include <stdbool.h>
void json_to_list(char* json_str, char* list_key, char*** list, size_t* list_len)
{
struct json_object* root = json_tokener_parse(json_str);
struct array_list* json_list = json_object_get_array(json_object_object_get(root, list_key));
size_t len = array_list_length(json_list);
*list = (char**)calloc(len, sizeof(char*));
*list_len = len;
for(size_t i=0; i<len; i++)
{
char* temp = (char*)array_list_get_idx(json_list, i);
(*list)[i] = (char*)calloc(strlen(temp)+1, sizeof(char));
strcpy((*list)[i], temp);
}
json_object_put(root);
}

代碼中調用了json-c中提供的json_object_get_array以及array_list_length等函數,首先通過json_tokener_parse解析JSON字符串獲取到根節點對象,然后通過json_object_object_get獲取要轉換的列表對象以及字列表長度,接著使用calloc分配內存,復制元素,最后釋放資源,在函數返回時可得到轉換后的List。

使用該代碼片段可以將JSON數據中的字符列表轉換成為C語言中的List類型,可以直接用于后續的開發中,免去了手動解析JSON字符類型數據的過程,簡化了開發流程,也提高了開發效率。