JSON格式的字符串在網絡傳輸、存儲和交換中十分常見,但是在字符串中會存在一些特殊字符,如引號、反斜杠等,這些字符需要進行轉義,否則會影響字符串的解析和使用。
//例如下面的JSON格式字符串 var jsonString = '{"name":"Tom","age":18,"desc":"He said:\'Hello World!\'"}'; //如果不進行轉義,字符串會變成以下這個樣子 var wrongString = '{"name":"Tom","age":18,"desc":"He said:'Hello World!'"}'; //這樣的字符串不能被正確解析,因為引號沒有被轉義
在C語言中,可以通過字符串常量中使用反斜杠+特定字符的方式進行轉義,例如:
#include <stdio.h> int main(){ char jsonString[] = "{\\"name\\":\\"Tom\\",\\"age\\":18,\\"desc\\":\\"He said:\\\\'Hello World!\\\\'\\ "}"; printf("%s", jsonString); return 0; }
注意,在字符串中使用反斜杠時,反斜杠本身也需要被轉義,因此在C語言中進行JSON轉義字符串時,需要使用兩個反斜杠。
同時,在C語言中也可以使用一些現成的庫來進行JSON轉義字符串,如json-c庫、jansson庫等。