C語(yǔ)言是一種強(qiáng)大的編程語(yǔ)言,尤其在數(shù)據(jù)處理方面,它顯得尤為突出。對(duì)于JSON數(shù)據(jù)格式,我們經(jīng)常需要對(duì)其進(jìn)行格式化,使其清晰易懂,方便我們的讀取和處理。下面就讓我們來(lái)介紹一種在C語(yǔ)言中在線格式化JSON的方法。
首先,我們需要將要格式化的JSON數(shù)據(jù)存儲(chǔ)在一個(gè)字符串中,例如:
char *json_str = "{\"name\":\"Tom\",\"age\":18,\"score\":{\"math\":90,\"english\":80}}";
接下來(lái),我們需要使用一個(gè)JSON格式化庫(kù),這里我們以 cJSON 庫(kù)為例,進(jìn)行JSON數(shù)據(jù)的格式化操作。
#include <stdio.h> #include <cJSON.h> int main() { char *json_str = "{\"name\":\"Tom\",\"age\":18,\"score\":{\"math\":90,\"english\":80}}"; cJSON *json = cJSON_Parse(json_str); char *formatted_json = cJSON_Print(json); printf("%s\n", formatted_json); cJSON_Delete(json); free(formatted_json); return 0; }
在上述程序中,我們使用 cJSON_Parse 函數(shù)將 JSON 字符串解析成 cJSON 對(duì)象,然后使用 cJSON_Print 函數(shù)將其格式化成字符串,并輸出到控制臺(tái)上。
代碼執(zhí)行結(jié)果如下:
{ "name": "Tom", "age": 18, "score": { "math": 90, "english": 80 } }
可以看到,JSON 數(shù)據(jù)已經(jīng)被成功地格式化了。