Json格式是一種輕量級的數據交換格式,越來越廣泛地應用于各種網絡應用。在C語言中,我們可以通過字符串操作函數來判斷一個字符串是否符合json格式。
int is_json(const char* str) { int len = strlen(str); int i, depth = 0; for (i = 0; i< len; i++) { if (str[i] == '{') { depth++; } else if (str[i] == '}') { depth--; } if (depth< 0) return 0; } return (depth == 0); }
上面的代碼使用一個計數器depth來記錄當前所在對象的層級,遍歷輸入的字符串,當遇到左花括號時,depth加1,遇到右花括號時,depth減1。如果遇到右花括號時depth小于0,說明字符串不符合json的語法。最后depth等于0,說明字符串符合json格式。
使用這個函數,我們可以在使用json格式數據的時候做錯誤處理,確保程序能夠正確解析json格式的數據。