在C語言中,json字符串是一種常見的數據格式,為了方便操作json字符串,我們需要獲取json的長度。本文將介紹如何使用C語言獲取json字符串的長度。
#include <stdio.h> #include <string.h> #include <ctype.h> #include <stdbool.h> int get_json_length(char* json_str) { int len = strlen(json_str); int count = 0; bool in_string = false; for (int i=0; i<len; ++i) { char c = json_str[i]; if (in_string) { if (c == '\\' && i < len-1) { ++i; } else if (c == '\"') { in_string = false; } } else { if (isspace(c)) { continue; } else if (c == '\"') { in_string = true; } else { ++count; } } } return count; } int main() { char json_str[] = "{ \"name\": \"Json\", \"age\": 20 }"; int len = get_json_length(json_str); printf("json_str length is %d\n", len); return 0; }
上述代碼中的get_json_length函數可以獲取json字符串中非空、非字符串部分的字節數。解析json串時需要忽略字符串部分和空格,所以需要設置一個in_string變量來判斷當前字符是否在字符串中。
在main函數中,我們可以調用get_json_length函數獲取json字符串的長度,并打印輸出。
上一篇get json數據
下一篇c js傳遞json數據