C語言是一種非常強(qiáng)大的編程語言,它不僅能夠幫助我們完成各種算法和數(shù)據(jù)結(jié)構(gòu)的相關(guān)操作,還能夠讓我們進(jìn)行各種數(shù)據(jù)的處理操作。而保存數(shù)據(jù)的方式也是各種各樣的,其中JSON格式是一種很常見的數(shù)據(jù)保存方式。
JSON格式的數(shù)據(jù)主要由兩部分組成,即"鍵"和"值",它們之間用冒號(hào)":"隔開,每個(gè)鍵值對之間用逗號(hào)","隔開,整個(gè)JSON數(shù)據(jù)的最外層需要用大括號(hào)"{}"括起來,如下所示:
{ "name":"Tom", "age":28, "sex":"male" }
如果我們想要在C語言中將一些數(shù)據(jù)保存成JSON格式,該怎么辦呢?下面是一個(gè)簡單的例子:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdbool.h> #include <ctype.h> #define JSON_OBJECT_SIZE 1024 static char json_buffer[JSON_OBJECT_SIZE]; static int json_add_string(const char* key, const char* value) { int length = sprintf(json_buffer, "\"%s\":", key); length += sprintf(json_buffer + length, "\"%s\"", value); return length; } static int json_add_number(const char* key, int value) { int length = sprintf(json_buffer, "\"%s\":", key); length += sprintf(json_buffer + length, "%d", value); return length; } int main() { char* name = "Tom"; int age = 28; char* sex = "male"; int length = 0; length += sprintf(json_buffer + length, "{"); length += json_add_string("name", name); length += sprintf(json_buffer + length, ","); length += json_add_number("age", age); length += sprintf(json_buffer + length, ","); length += json_add_string("sex", sex); length += sprintf(json_buffer + length, "}"); printf("%s", json_buffer); return 0; }
通過上面的代碼,我們可以將{name:"Tom", age:28, sex:"male"}這個(gè)JSON格式的數(shù)據(jù)保存成一個(gè)字符串,并輸出到控制臺(tái)上。如果我們想要保存多個(gè)JSON格式的數(shù)據(jù),只需要多次調(diào)用json_add_string和json_add_number函數(shù)即可。
上一篇Mysql反斜杠用包起來
下一篇vue iis 404