在C語言中,我們可以使用JSON來進行數據交換和存儲。然而,在接收到JSON數據后,我們需要進行轉義,以保證數據的完整性和安全性。
#include <stdio.h> #include <stdlib.h> #include <string.h> // 轉義JSON字符串 char *escape_json_string(char *str) { char *p = str; char *buf = (char*)malloc(strlen(str) * 2 + 1); char *q = buf; while (*p) { if (*p == '\\' || *p == '\"') { *q++ = '\\'; } *q++ = *p++; } *q = 0; return buf; } int main(int argc, char *argv[]) { // 接收到的JSON數據 char *json_str = "{\"name\":\"小明\",\"age\":18,\"is_vip\":true}"; printf("Raw JSON String: %s\n", json_str); // 轉義JSON字符串 char *escaped_str = escape_json_string(json_str); printf("Escaped JSON String: %s\n", escaped_str); free(escaped_str); return 0; }
在上面的代碼中,我們實現了一個簡單的JSON轉義函數escape_json_string
。該函數接收一個字符數組,遍歷其中每一個字符,當字符為'\\'
或'\"'
時,前面加上'\\'
,然后將轉義后的結果存入一個新的緩存區中,最后返回緩存區。
在實際使用中,我們可以將接收到的JSON字符串傳遞給轉義函數,得到轉義后的結果,然后再進行后續操作,保證數據的安全性和完整性。