C JSON 字符串去引號是一個常見的問題。當(dāng)我們使用 C 語言編寫 JSON 解析器時,經(jīng)常會遇到需要去除 JSON 字符串中的引號。這個過程并不復(fù)雜,只需要使用 C 語言的字符串操作函數(shù)即可。
#include <stdio.h> #include <string.h> void remove_quote(char *str) { int i, j; for (i = 0, j = 0; str[i]; i++) { if (str[i] != '\"') { str[j++] = str[i]; } } str[j] = '\0'; } int main() { char json_str[] = "{\"name\": \"json\", \"age\": 20}"; printf("before: %s\n", json_str); remove_quote(json_str); printf(" after: %s\n", json_str); return 0; }
在上面的代碼中,我們定義了 remove_quote 函數(shù),該函數(shù)接受一個字符串作為參數(shù)。函數(shù)內(nèi)部使用兩個變量 i 和 j 來遍歷字符串,如果當(dāng)前字符不是引號,就將其復(fù)制到新的字符串中,最終新的字符串就是去除了引號的 JSON 字符串。
在主函數(shù)中,我們定義了一個 JSON 字符串 json_str,并打印出解析前和解析后的字符串。執(zhí)行該程序,輸出結(jié)果如下:
before: {"name": "json", "age": 20} after: {name: json, age: 20}
可以看到,引號已經(jīng)被去除了。