C語言是一門強大而靈活的編程語言,能夠支持多種數據格式。其中,JSON格式是非常常見的一種格式,但一般情況下,C語言是不直接支持JSON格式的。因此,我們需要判斷一個字符串是否符合JSON格式。
下面是一段可以判斷字符串是否符合JSON格式的C語言代碼:
#include <string.h> #include <stdbool.h> bool isJson(char *str) { int len = strlen(str); if (len < 2 || str[0] != '{' || str[len - 1] != '}') { return false; } int i; bool in_str = false; int colon_count = 0; for (i = 1; i < len - 1; i++) { char c = str[i]; if (c == '\\' && str[i + 1] == '\"') { i++; continue; } if (c == '\"') { in_str = !in_str; } if (!in_str && (c == ',' || c == ':')) { colon_count++; } } return colon_count > 0; }
上述代碼可以判斷一個字符串是否符合JSON格式。如果符合,則返回true,如果不符合,則返回false。
代碼中的思路主要是判斷字符串是否以“{”開頭且以“}”結尾,然后統計“,”和“:”的數量,如果數量大于0,則返回true,否則返回false。
在實際使用中,我們可以將這段代碼封裝成一個函數,方便調用。