在使用C語言處理JSON字符串時,需要首先判斷字符串是否為JSON格式。下面介紹一個較為簡單的判斷方法。
#include <stdio.h> #include <stdlib.h> #include <stdbool.h> #include <string.h> bool is_json_string(char *str) { int len = strlen(str); if (str[0] != '{' || str[len-1] != '}') { return false; } for (int i = 1; i< len-1; i++) { if (str[i] == '{' || str[i] == '}') { return false; } } return true; } int main() { char *str1 = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}"; char *str2 = "This is not a JSON {string}"; if (is_json_string(str1)) { printf("%s is a JSON string\n", str1); } else { printf("%s is not a JSON string\n", str1); } if (is_json_string(str2)) { printf("%s is a JSON string\n", str2); } else { printf("%s is not a JSON string\n", str2); } return 0; }
該方法針對基本的JSON格式進行判斷,主要判斷字符串是否以“{”開頭,以“}”結尾,并且除開頭和結尾字符外,不包含其他大括號字符。該方法是判斷JSON字符串格式的簡單方法,但并不完整,無法判斷復雜JSON格式。因此,在實際生產環境中,需要根據具體需求進行進一步的判斷。