在C語言中,判斷一個字符字符串是否為JSON格式的數據需要用到一些特殊的技巧和方法。
下面是一個基本的JSON格式的數據:
{ "name": "Jack", "age": 23, "sex": "male" }
可以這樣來判斷傳入的字符串是否為JSON格式的數據:
#include <stdbool.h> #include <ctype.h> bool is_json(char *str) { if (str[0] != '{' || str[strlen(str) - 1] != '}') return false; for (int i = 1; i< strlen(str) - 1; i++) { if (str[i] == '{' || str[i] == '}') continue; if (str[i] == '"' && str[i + 1] != ':') return false; if (!isdigit(str[i]) && !isalpha(str[i]) && str[i] != '.' && str[i] != ',' && str[i] != ':' && str[i] != '-') return false; } return true; }
這段代碼首先判斷輸入的字符串是否以'{'開頭,是否以'}'結尾。然后,遍歷字符串中的每一個字符,如果發現字符為'{'或'}',則跳過,如果為雙引號,則判斷下一個字符是否為':',是則跳過,否則返回false。最后,如果字符不是數字、字母、點號、逗號、冒號或負號,則返回false。如果字符串中不存在不符合條件的字符,則返回true,即可判斷該字符串是否為JSON格式的數據。
上一篇vue動態過濾系統
下一篇vue動態組件refs