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

c 返回的json去中括號

李中冰2年前8瀏覽0評論

在C語言中,我們經常需要使用JSON格式來處理數據。JSON格式的數據通常是用中括號包裹的數組或者用大括號包裹的鍵值對。

但是有時候我們在處理JSON數據時,需要將返回的JSON數組去掉中括號。這時候我們可以使用C語言中的字符串處理函數strtok和strchr來實現。

// 去掉JSON數組中的中括號
char* remove_brackets(char* json_str) {
char* result = (char*)malloc(sizeof(char) * strlen(json_str));
char* token;
char* delimiter = ",";
int i = 0;
if (json_str[0] == '[' && json_str[strlen(json_str)-1] == ']') {
json_str[strlen(json_str)-1] = '\0'; // 將最后一個]替換成\0
token = strtok(json_str+1, delimiter); // 跳過第一個[
while (token != NULL) {
strcat(result, token);
strcat(result, ",");
token = strtok(NULL, delimiter);
}
result[strlen(result)-1] = '\0'; // 去掉末尾多余的逗號
} else {
strcpy(result, json_str);
}
return result;
}

上面的代碼首先判斷傳入的JSON字符串是否有中括號包裹,如果有則使用strtok函數將字符串拆分成每個元素,然后再使用strcat函數將所有元素拼接在一起,中間用逗號隔開。最后,去掉末尾多余的逗號并返回結果。

需要注意的是,返回的字符串需要使用malloc函數動態分配內存,以避免指針失效。同時,在調用完strtok函數后,token指向的是去掉第一個中括號之后的第一個元素,因此需要先調用一次strtok函數跳過第一個元素。