色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c 判斷是否為json格式

傅智翔2年前9瀏覽0評論

在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格式的數據。