c語言是一門廣泛應用于系統和應用程序的編程語言。在處理網絡交互時,我們經常需要將一些數據格式轉換為json字符串,以便更好的傳輸和處理。這篇文章將介紹如何在c語言中轉義json串。
/** * 將字符串轉義成json串格式 * @param dst 轉義后的json字符串 * @param src 待轉義的字符串 * @param size dst的大小,防止越界 */ void escape_json_string(char *dst, const char *src, int size) { if (!dst || !src) { return; } int len = 0; char *p = dst; while (*src && len< size) { switch (*src) { case '\"': *p = '\\'; *(++p) = '\"'; len += 2; break; case '\\': *p = '\\'; *(++p) = '\\'; len += 2; break; case '\b': *p = '\\'; *(++p) = 'b'; len += 2; break; case '\f': *p = '\\'; *(++p) = 'f'; len += 2; break; case '\n': *p = '\\'; *(++p) = 'n'; len += 2; break; case '\r': *p = '\\'; *(++p) = 'r'; len += 2; break; case '\t': *p = '\\'; *(++p) = 't'; len += 2; break; default: *p = *src; len++; break; } p++; src++; } *p = '\0'; }
上述代碼中,使用了switch語句對json串中需要轉義的字符進行處理。如果是雙引號,則在其前加一個反斜杠;如果是反斜杠,則在其前加一個反斜杠;如果是退格符,則轉為b;如果是分頁符,則轉為f;如果是換行符,則轉為n;如果是回車符,則轉為r;如果是制表符,則轉為t。如果都不是,則原樣輸出。
轉義完成后,即可將處理后的串輸出,便于網絡傳輸和處理。
下一篇c 轉json出現