C語言作為一種面向過程的編程語言,在數據處理方面具有不可替代的優勢。對于眾多web開發者而言,如何簡便高效地將C語言處理后的數據轉化為JSON字符串,便顯得尤為關鍵。
因為C語言并沒有natively支持JSON格式,所以我們需要通過一些第三方工具庫的幫助來達到這個目的。
#include <stdio.h>
#include <jansson.h>
int main(int argc, char **argv){
json_t *root;
json_error_t error;
root = json_pack(
"{sisi}",
"temperature", 23,
"humidity", 45
);
if(!root){
fprintf(stderr, "Error: on line %d: %s\n", error.line, error.text);
return 1;
}
char *json_str = json_dumps(root, JSON_ENCODE_ANY);
printf("%s\n", json_str);
json_decref(root);
free(json_str);
return 0;
}
上述代碼中最關鍵的兩行都是和json_t數據結構有關的:
json_t *root;
root = json_pack("{sisi}", "temperature", 23, "humidity", 45);
其中第一行定義了JSON對象root,第二行則是將"temperature"鍵和值23,以及"humidity"鍵和值45依次打包進root JSON對象。
最終我們還需要通過json_dumps()函數將root JSON對象轉換成字符串,使其能夠被其他程序或者設備所識別。
代碼運行輸出如下:
{
"temperature": 23,
"humidity": 45
}
可以看到我們成功地將C語言中處理的數據通過json庫轉化為了JSON字符串。