在編寫C語言程序時,有時需要將數(shù)據(jù)以JSON格式進行傳輸或保存。JSON是一種常用的跨語言數(shù)據(jù)交換格式,通常使用雙引號包裹鍵名和字符串值,需要進行轉(zhuǎn)義才能在C語言中正常表示。
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char* jsonString = "{\"name\":\"John\",\"age\":30}"; char* escapedJsonString = (char*) malloc(strlen(jsonString) * 2); int i; int j = 0; for (i = 0; i < strlen(jsonString); i++) { if (jsonString[i] == '\"' || jsonString[i] == '\\') { escapedJsonString[j++] = '\\'; } escapedJsonString[j++] = jsonString[i]; } escapedJsonString[j] = '\0'; printf("Escaped JSON: %s\n", escapedJsonString); return 0; }
在上述代碼中,我們首先創(chuàng)建一個JSON字符串變量,然后使用一些轉(zhuǎn)義字符將其賦值給它,包括一個斜杠和一個引號。然后,我們使用一個循環(huán)遍歷字符串的每個字符,檢查字符是否需要轉(zhuǎn)義。如果需要轉(zhuǎn)義,則在前面插入一個反斜杠。
最后,我們打印出已轉(zhuǎn)義的JSON字符串。在實際應用中,我們可以將它存儲到一個文件或?qū)⑵渥鳛镠TTP響應的一部分發(fā)送到客戶端。