在前端開發中,我們經常需要將一些數據以 JSON 格式傳輸到后端,但有些數據中可能會包含<, >等 HTML 標簽,如果直接傳輸過去,可能會導致 HTML 解析錯誤。為了避免這種情況,我們需要對特殊字符進行轉義。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <cjson/cJSON.h> char *json_escape_html(const char *json_data) { cJSON *json = cJSON_Parse(json_data); if (!json) { cJSON_Delete(json); return NULL; } char *output = cJSON_Print(json); if (!output) { cJSON_Delete(json); return NULL; } cJSON_Delete(json); return output; } int main() { const char *json_data = "{\"name\": \"John\", \"age\": 20, \"message\": \"Hello, world!
\"}"; char *escaped_data = json_escape_html(json_data); printf("%s", escaped_data); free(escaped_data); return 0; }
以上代碼使用 cJSON 庫解析 JSON 數據,并調用了一個自定義的函數 json_escape_html 對 HTML 標簽進行了轉義。具體實現方式是將 JSON 數據先解析成 cJSON 對象,再通過 cJSON_Print 函數轉換為字符串,這個過程會自動對特殊字符進行轉義。最后釋放資源并返回轉義后的字符串。
通過這樣的方式,我們就可以將包含 HTML 標簽的 JSON 數據安全地傳輸到后端,避免出現不必要的錯誤。
上一篇python 整點時間戳
下一篇python 詞云 結巴