C語言中,判斷字符串是否為JSON格式化字符串可以通過一些方法來實現。
首先,我們需要明確JSON格式化字符串的特點:首尾必須是一對大括號或中括號,其中的元素必須用逗號分隔,每個元素必須由一個鍵和一個值組成,鍵和值之間必須用冒號表示。例如,下面是一個JSON格式化字符串:
{ "name": "Tom", "age": 18, "hobbies": ["reading", "swimming"] }
因此,我們可以通過C語言提供的字符串操作函數來判斷一個字符串是否滿足這些特征。具體代碼示例如下:
#include <string.h> int is_json(char* str) { int len = strlen(str); int stack[len]; // 定義一個棧 int top = -1; // 棧頂指針 int i = 0; while (i< len) { char ch = str[i]; if (ch == '{' || ch == '[') { stack[++top] = ch; // 入棧 } else if (ch == '}' || ch == ']') { if (top< 0) return 0; // 棧空,不符合要求 char tmp = stack[top--]; // 出棧 if ((ch == '}' && tmp != '{') || (ch == ']' && tmp != '[')) { return 0; // 不匹配,不符合要求 } } ++i; } if (top != -1) return 0; // 棧不空,不符合要求 return 1; }
該函數使用了一個棧來進行判斷,遇到左括號就入棧,遇到右括號就出棧并判斷是否匹配,最后如果棧為空則表示字符串符合JSON格式化要求。
使用該函數可以方便地判斷一個字符串是否為JSON格式化字符串。
上一篇python 正則換行符
下一篇vue判斷狀態碼