JSON是一種輕量級的數據交換格式,常用于前后端數據傳輸。在C語言中,判斷一個字符串是否為JSON格式需要對其進行一定的解析和檢查。下面我們來看一下如何實現。
bool is_json(char *str) { int len = strlen(str); int i = 0; int brace_count = 0; int bracket_count = 0; bool in_string = false; for (i = 0; i< len; i++) { if (str[i] == '"' && str[i - 1] != '\\') { in_string = !in_string; } else if (!in_string) { if (str[i] == '{') brace_count++; else if (str[i] == '}') brace_count--; else if (str[i] == '[') bracket_count++; else if (str[i] == ']') bracket_count--; } } return (brace_count == 0 && bracket_count == 0 && in_string == false); }
在上面的代碼中,我們定義了一個is_json函數,該函數接收一個字符串參數并返回一個布爾值。函數內部遍歷字符串,統計大括號和方括號的數量,并判斷字符串是否在引號內。最后根據大括號和方括號是否配對以及字符串是否在引號內來判斷字符串是否為JSON格式。
使用pre標簽將代碼展示出來,讓讀者更加清晰地看到代碼的細節和邏輯。