欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 判斷字符串是否json

張吉惟1年前8瀏覽0評論

在C語言中,判斷一個字符串是否為JSON格式可以使用正則表達式,也可以使用庫函數。下面是使用庫函數的方法。

#include <stdio.h>
#include <jansson.h>
int is_json(char* str) {
json_t* root = json_loads(str, JSON_ALLOW_NUL, NULL);
if(!root) {
return 0; // 解析失敗,不是JSON格式
}
json_decref(root);
return 1; // 解析成功,是JSON格式
}
int main() {
char* str1 = "{ \"name\": \"Alice\", \"age\": 25 }";
char* str2 = "{ name: \"Bob\", age: 30 }";
if(is_json(str1)) {
printf("%s is JSON format.\n", str1);
} else {
printf("%s is not JSON format.\n", str1);
}
if(is_json(str2)) {
printf("%s is JSON format.\n", str2);
} else {
printf("%s is not JSON format.\n", str2);
}
return 0;
}

上面的代碼使用了jansson庫,它是一個C語言的JSON解析庫。is_json函數接受一個字符串參數,調用json_loads函數解析字符串。如果解析失敗,json_loads會返回NULL,is_json函數返回0;否則調用json_decref函數釋放內存,返回1。

使用上面的方法可以快速判斷一個字符串是否為JSON格式。